Anda di halaman 1dari 80

BASES DE DATOS II

(DISTRIBUIDAS)

Facultad de Ingeniera y Ciencias


Ingeniera en Sistema e Informtica - Electrnica y Redes

Control de Acceso y Bases de Datos


Ing. Jonathan Carrillo
Quito, Noviembre 2016
Contenido:
1. Introduccin
2. Enfoques de Seguridad
3. Control de Acceso
SQL: Data Control Language DCL
Discrecional basado en la concesin y revocacin de
privilegios (DAC)
Basado en roles (RBAC)
Obligatorio para la seguridad multinivel (MAC)
4. Conclusin

Ing. Jonathan Carrillo - Noviembre 2016


Control de Acceso y Bases de Datos

1. Introduccin

En la actualidad las tecnologas de la informacin


afectan a todos los mbitos de la sociedad, como el
econmico, el tecnolgico y el normativo.
Estos cambios tambin han modificado el concepto
de Seguridad de la Informacin.
En la actualidad ya no concebimos la Seguridad
como un concepto solamente tcnico sino que
tambin tenemos en cuenta sus aspectos
organizativos, jurdicos o normativos, entre otros.

Ing.Jonathan
Ing. Jonathan
Carrillo
Carrillo
- Noviembre
- Noviembre
2016 2016
Control de Acceso y Bases de Datos

1. Introduccin

La Seguridad de la Informacin puede ser un


excelente camino para mejorar muchos aspectos
relacionados con la actividad de una empresa como
su productividad, su competitividad, su capacidad
de supervivencia ante desastres o la posibilidad de
ofrecer garantas a sus clientes a modo de elemento
diferenciador.

Ing.Jonathan
Ing. Jonathan
Carrillo
Carrillo
- Noviembre
Noviembre
2016 2016
Control de Acceso y Bases de Datos

1. Introduccin

El profesional que gestiona la informacin, debe


estar preparado para comprender varios conceptos,
entre los cuales incluyen:
> Aspectos legales y ticos
> Polticas a nivel gubernamental, institucional o
de empresa
> Niveles de infraestructura, Sistemas Operativos,
Sistemas de Gestin de Base de Datos.
> Identificar diferentes niveles de seguridad y de
clasificar, segn stos, a los datos y a los
usuarios.

Ing.Jonathan
Ing. Jonathan
Carrillo
Carrillo
- Noviembre
- Noviembre
2016 2016
Control de Acceso y Bases de Datos
2. Enfoques de Seguridad

Con el paso del tiempo el concepto de Seguridad ha


evolucionado, puesto que tambin lo han hecho las
tecnologas, los dispositivos y la informacin que
utilizamos y, todo ello, ha propiciado que la
Seguridad haya necesitado adaptarse a dichos
cambios.
Los enfoques que se le han otorgado a la seguridad
son:
> Seguridad Informtica (obsoleto)
> Seguridad TIC (no vigente)
> Seguridad de la Informacin (actual)
Ing.Jonathan
Ing. Jonathan
Carrillo
Carrillo
- Noviembre
- Noviembre
2016 2016
Control de Acceso y Bases de Datos
2. Enfoques de Seguridad
> Seguridad Informtica
La Seguridad Informtica es un concepto de
Seguridad que naci en la poca en la que no
existan:
> Las redes de banda ancha,
> Los telfonos mviles
> Servicios de internet
> Redes sociales
> Tiendas virtuales.
Por lo tanto, la Seguridad Informtica es un concepto
fundamentalmente tcnico y suele perder de vista
otros aspectos importantes para una organizacin
Ing.Jonathan
Ing. Jonathan
Carrillo
Carrillo
- Noviembre
- Noviembre
2016 2016
Control de Acceso y Bases de Datos
2. Enfoques de Seguridad
> Seguridad TIC
A medida que evolucion la tecnologa, aparecieron
las redes de banda ancha, los dispositivos mviles o
los servicios de Internet.
En este escenario, fue
imprescindible realizar una
revisin del enfoque de
seguridad y dotarlo de mayor
amplitud, como es el caso de
la Seguridad TIC o
Seguridad de las Tecnologas
de la Informacin y las
Comunicaciones.
Ing.Jonathan
Ing. Jonathan
Carrillo
Carrillo
- Noviembre
- Noviembre
2016 2016
Control de Acceso y Bases de Datos
2. Enfoques de Seguridad
> Seguridad TIC
Este concepto de seguridad no slo trata de proteger
el computador como elemento central de una
infraestructura tecnolgica, sino que tambin hace
especial hincapi en las infraestructuras de
comunicaciones y ampla el mbito de proteccin a
los dispositivos mviles y, en general, a cualquier
dispositivo capaz de almacenar, transmitir o tratar
informacin.
Pero, adems, abarca la proteccin de elementos no
fsicos, como son los servicios; por ejemplo el correo
electrnico, la navegacin web, entre otros.

Ing.Jonathan
Ing. Jonathan
Carrillo
Carrillo
- Noviembre
- Noviembre
2016 2016
Control de Acceso y Bases de Datos
2. Enfoques de Seguridad
> Seguridad de la Informacin
En los ltimos aos se ha hecho evidente que cuando
protegemos un computador, un dispositivo mvil,
una infraestructura de comunicaciones o un servicio,
en realidad lo que estamos protegiendo es la
informacin (independientemente de su formato,
localizacin, naturaleza, etc.)
que es almacenada,
enviada, transmitida
y modificada en
dichos servicios,
infraestructuras o
dispositivos.
Ing.Jonathan
Ing. Jonathan
Carrillo
Carrillo
- Noviembre
- Noviembre
2016 2016
Control de Acceso y Bases de Datos
2. Enfoques de Seguridad
> Seguridad de la Informacin
La Seguridad de la Informacin tiene en cuenta la
proteccin de la informacin desde tres puntos de
vista:
> Legal
> Del Negocio / Organizativo
> Tcnico
Por tanto, estamos protegiendo la informacin pero,
adems, lo hacemos desde tres facetas distintas, y
para ello, necesitamos a su vez implementar
medidas de tipo tcnico, organizativo y legal.

Ing.Jonathan
Ing. Jonathan
Carrillo
Carrillo
- Noviembre
- Noviembre
2016 2016
Control de Acceso y Bases de Datos
2. Enfoques de Seguridad
> Seguridad de la Informacin
La Seguridad de la Informacin dispone de normas
estandarizadas que permiten la implantacin de un
Sistema de Gestin de la Seguridad de la
Informacin SGSI
Los SGSI tienen criterios, metodologa y medidas
estandarizadas que facilita la labor de las
organizaciones que desean aplicar e implementar la
Seguridad de la Informacin.
NOTA: La informacin, puede ser un activo tangible o intangible. No
solamente tenemos que pensar en informacin almacenada en una base
de datos o en un disco duro. La informacin tambin podemos
encontrarla en formato papel, en una cinta magntica, en un CD, entre
otras.
Ing.Jonathan
Ing. Jonathan
Carrillo
Carrillo
- Noviembre
- Noviembre
2016 2016
Control de Acceso y Bases de Datos
2. Enfoques de Seguridad
> Seguridad de la Informacin
Qu es la Seguridad de la Informacin?
La Seguridad de la Informacin es la proteccin de
tres aspectos o facetas de la informacin, que son
las siguientes:
> Confidencialidad
> Integridad
> Disponibilidad

Ing.Jonathan
Ing. Jonathan
Carrillo
Carrillo
- Noviembre
- Noviembre
2016 2016
Control de Acceso y Bases de Datos
2. Enfoques de Seguridad
> Seguridad de la Informacin
Confidencialidad: consiste en evitar que personas,
programas o sistemas no autorizados puedan acceder
a ella sin autorizacin.
Integridad: es la caracterstica de la informacin
relativa a su fiabilidad. Su proteccin consiste en que
la informacin no sea alterada o modificada sin
autorizacin.
Disponibilidad: este aspecto hace referencia a que la
informacin est accesible, es decir, disponible para
su utilizacin cuando sea necesaria.

Ing.Jonathan
Ing. Jonathan
Carrillo
Carrillo
- Noviembre
- Noviembre
2016 2016
Control de Acceso y Bases de Datos
2. Enfoques de Seguridad
> Seguridad de la Informacin
Por tanto, la Seguridad de la Informacin tiene que
establecer las medidas necesarias que permitan
proteger la confidencialidad, la integridad y la
disponibilidad de la informacin.

Ing.Jonathan
Ing. Jonathan
Carrillo
Carrillo
- Noviembre
- Noviembre
2016 2016
Control de Acceso y Bases de Datos
2. Enfoques de Seguridad
> Seguridad de la Informacin
Por qu es necesaria la Seguridad de la
Informacin?
Porque nos ayuda a identificar los riesgos,
vulnerabilidades y las amenazas a las que est
expuesta la organizacin.
Nos indica en qu medida nos pueden afectar y
cmo podemos minimizar los riesgos.
Y, en el caso de que se produzca algn desastre, nos
ayuda a establecer pautas y procedimientos para
reducir sus consecuencias.

Ing.Jonathan
Ing. Jonathan
Carrillo
Carrillo
- Noviembre
- Noviembre
2016 2016
Control de Acceso y Bases de Datos
2. Enfoques de Seguridad
> Seguridad de la Informacin
Algunos indicadores:

Ing.Jonathan
Ing. Jonathan
Carrillo
Carrillo
- Noviembre
- Noviembre
2016 2016
Control de Acceso y Bases de Datos
2. Enfoques de Seguridad
> Seguridad de la Informacin
Algunos indicadores:

Ing.Jonathan
Ing. Jonathan
Carrillo
Carrillo
- Noviembre
- Noviembre
2016 2016
Control de Acceso y Bases de Datos
2. Enfoques de Seguridad
> Seguridad de la Informacin
Algunos indicadores:

Ing.Jonathan
Ing. Jonathan
Carrillo
Carrillo
- Noviembre
- Noviembre
2016 2016
Control de Acceso y Bases de Datos
2. Enfoques de Seguridad
> Seguridad de la Informacin
Algunos indicadores:

Ing.Jonathan
Ing. Jonathan
Carrillo
Carrillo
- Noviembre
- Noviembre
2016 2016
Control de Acceso y Bases de Datos
2. Enfoques de Seguridad
> Seguridad de la Informacin
Algunos indicadores:

Ing.Jonathan
Ing. Jonathan
Carrillo
Carrillo
- Noviembre
- Noviembre
2016 2016
Control de Acceso y Bases de Datos
2. Enfoques de Seguridad
> Amenazas en las Bases de Datos
A un alto nivel, la seguridad de base de datos se
reduce a contestar cuatro preguntas:
> Quin es? (autenticacin)
> Quin puede hacerlo? (autorizacin)
> Quin puede verlo? (encriptacin/cifrado)
> Quin lo hizo? (auditora/trazabilidad)

Ing.Jonathan
Ing. Jonathan
Carrillo
Carrillo
- Noviembre
- Noviembre
2016 2016
Control de Acceso y Bases de Datos
2. Enfoques de Seguridad

> Amenazas en las Bases de Datos


Para proteger las bases de datos contra estos tipos de
amenazas, es habitual implementar cuatro tipos de
medidas de control:
1. Control de Acceso tema que aborda este de este curso

2. Control de inferencias
3. Control de flujo
4. Cifrado de Datos

Ing.Jonathan
Ing. Jonathan
Carrillo
Carrillo
- Noviembre
- Noviembre
2016 2016
Control de Acceso y Bases de Datos
3. Control de Acceso
Son medidas para restringir el acceso al sistema de
base de datos en su totalidad y se gestiona mediante
la creacin de cuentas de usuario y contraseas para
controlar el proceso de entrada al DBMS.
El Administrador de Base de Datos dispone de una
cuenta de DBA en el DBMS, llamada tambin
cuenta de sistema, de super-usuario o cuentas de
tipo root (similares a las cuentas de administrador
restringidos del sistema operativo)

Ing.Jonathan
Ing. Jonathan
Carrillo
Carrillo
- Noviembre
- Noviembre
2016 2016
Control de Acceso y Bases de Datos
3. Control de Acceso

DBMS and databases logins, Mullins C. S.

Ing.Jonathan
Ing. Jonathan
Carrillo
Carrillo
- Noviembre
- Noviembre
2016 2016
Control de Acceso y Bases de Datos
3. Control de Acceso
> SQL: Data Control Language
El lenguaje de control de datos DCL (Data Control
Language) del SQL, proporciona los mecanismos
para controlar el acceso a los datos contenidos en la
Base de Datos.
> GRANT: en SQL es un comando que se utiliza
para proporcionar acceso o privilegios en los
sujetos-objetos de base de datos a los usuarios.
> REVOKE: quita los derechos de acceso o
privilegios en los sujetos-objetos de base de
datos.

Ing.Jonathan
Ing. Jonathan
Carrillo
Carrillo
- Noviembre
- Noviembre
2016 2016
Control de Acceso y Bases de Datos
3. Control de Acceso
> SQL: Data Control Language
Regla de Autorizacin:

<sujeto, objeto, privilegio>


SUJETOS DE AUTORIZACIN:
- USUARIOS
- GRUPOS DE USUARIOS
- ROLES
- SISTEMAS
- PROCESOS

Ing.Jonathan
Ing. Jonathan
Carrillo
Carrillo
- Noviembre
- Noviembre
2016 2016
Control de Acceso y Bases de Datos
3. Control de Acceso
> SQL: Data Control Language
Regla de Autorizacin:

<sujeto, objeto, privilegio>


OBJETOS DE AUTORIZACIN
- ARCHIVOS Y DIRECTORIOS
- RELACIONES, VISTAS, ATRIBUTOS
- CLASES, JERARQUAS DE CLASES
- BASES DE DATOS, TABLAS, INDICES,
TRIGGERS, PROCEDIMIENTOS
ALMACENADOS,
- FUNCIONES, CURSORES, ETC
Ing.Jonathan
Ing. Jonathan
Carrillo
Carrillo
- Noviembre
- Noviembre
2016 2016
Control de Acceso y Bases de Datos
3. Control de Acceso
> SQL: Data Control Language
Regla de Autorizacin:

<sujeto, objeto, privilegio>


PRIVILEGIOS DE AUTORIZACIN
- LEER, ESCRIBIR, EJECUTAR
- SELECCIONAR (select),
- INSERTAR (insert), ACTUALIZAR (update),
BORRAR (delete), CREAR (Create),
-
REFERENCIAR, INDEXAR, ALL, ALTER,
DROP, ETC.

Ing.Jonathan
Ing. Jonathan
Carrillo
Carrillo
- Noviembre
- Noviembre
2016 2016
Control de Acceso y Bases de Datos
3. Control de Acceso
> SQL: Data Control Language
> GRANT:

Para la propagacin
de privilegios

EJEMPLO: GRANT CREATE TABLE TO User1;


GRANT SELECT ON VENTAS TO User2 WITH GRANT OPTION;

> REVOKE:

EJEMPLO: REVOKE INSERT, DELETE ON EMPLEADO FROM User3

*Por simplicidad, para este curso utilizaremos las palabras usuario o


cuenta de modoindiferente.
Ing.Jonathan
Ing. Jonathan
Carrillo
Carrillo
- Noviembre
- Noviembre
2016 2016
Control de Acceso y Bases de Datos
3. Control de Acceso
> Mtodos:
Los mtodos de Control de Acceso son los
siguientes:
1. Control de acceso discrecional basado en la
concesin y revocacin de privilegios (DAC)
2. Control de acceso Obligatorio para la seguridad
multinivel (MAC)
3. Control de acceso basado en roles (RBAC)

DAC: Discretionary Access Control


MAC: Mandatory Access Control
RBAC: Role Based Access Control

Ing.Jonathan
Ing. Jonathan
Carrillo
Carrillo
- Noviembre
- Noviembre
2016 2016
Control de Acceso y Bases de Datos
3. Control de Acceso
> Discrecional basado en la concesin y revocacin
de privilegios DAC
Granting Table Privileges
> Suponga que el usuario 7 (user7) requiere el
privilegio de borrar filas de la tabla Titulo :
GRANT Delete ON Titulo TO user7;
> Activar al usuario 7 (user7) para que pueda
actualizar nicamente la columna Id_Autor de la
tabla TiTulo:
GRANT Update ON Titulo (Id_Autor) TO
user7;

Ing.Jonathan
Ing. Jonathan
Carrillo
Carrillo
- Noviembre
- Noviembre
2016 2016
Control de Acceso y Bases de Datos
3. Control de Acceso
> Discrecional basado en la concesin y revocacin
de privilegios DAC
Granting Table Privileges
Nota:
> Normalmente, el DBA otorgar privilegios en las
tablas para los programadores en un entorno de
prueba para fines de desarrollo.
> Los programadores y los usuarios finales pueden
requerir privilegios de las tablas en un ambiente
de produccin para ciertas tareas. Sin embargo,
el acceso debe ser controlado mediante
privilegios de procedimientos almacenados, en
lugar de privilegios en las tablas directamente.
Ing.Jonathan
Ing. Jonathan
Carrillo
Carrillo
- Noviembre
- Noviembre
2016 2016
Control de Acceso y Bases de Datos
3. Control de Acceso
> Discrecional basado en la concesin y revocacin
de privilegios DAC
Granting Database Object Privileges
> Activar al user5 y al user9 para que puedan crear
tablas e ndices:
GRANT CREATE table, CREATE index
TO user5, user9;
Nota: usualmente el usuario que tiene privilegios
para crear objetos en la base de datos es
nicamente el DBA.

Ing.Jonathan
Ing. Jonathan
Carrillo
Carrillo
- Noviembre
- Noviembre
2016 2016
Control de Acceso y Bases de Datos
3. Control de Acceso
> Discrecional basado en la concesin y revocacin
de privilegios DAC
Granting System Privileges
> Son privilegios que pueden variar de DBMS en
DBMS. Algunos incluyen:
database logs, shut down and restart the
database server, start traces para monitoreo,
manage storage, y manage database caches.
> Son privilegios a nivel de DBMS y no sobre la
BDD.

Ing.Jonathan
Ing. Jonathan
Carrillo
Carrillo
- Noviembre
- Noviembre
2016 2016
Control de Acceso y Bases de Datos
3. Control de Acceso
> Discrecional basado en la concesin y revocacin
de privilegios DAC
Granting System Privileges
> Por ejemplo: se desea otorgar al user6 el
privilegio de realizar tareas de monitoreo por
medio de TRACE:
GRANT TRACE TO user6;
Nota: usualmente el DBA o un super usuario son
los usuarios que tienen este tipo de privilegios para
otorgar permissos de esta clase.

Ing.Jonathan
Ing. Jonathan
Carrillo
Carrillo
- Noviembre
- Noviembre
2016 2016
Control de Acceso y Bases de Datos
3. Control de Acceso
> Discrecional basado en la concesin y revocacin
de privilegios DAC
Granting Program and Procedure Privileges
> Por ejemplo: otorgar el privilegio al user1 y
user9 el de ejecutar un procedimiento
almacenado de nombre CalculoVariable:
GRANT EXECUTE ON CalculoVariable
TO user1, user9;
Nota: La integridad se gestiona de mejor manera otorgando
prvilegios a los usuarios por medio de programas y
procedimientos almacenados antes que la concesin de
privilegios en las tablas y columnas de manera individual.

Ing.Jonathan
Ing. Jonathan
Carrillo
Carrillo
- Noviembre
- Noviembre
2016 2016
Control de Acceso y Bases de Datos
3. Control de Acceso
> Discrecional basado en la concesin y revocacin
de privilegios DAC
Granting to PUBLIC
> Cualquier privilegio que se otorgue mediante
PUBLIC todos los usuarios que inicien sesin
acceden a esta concesin.
> Por ejemplo: Conceder a todos los usuarios el
privilegio de borrar tuplas de la tabla Ttulo:
GRANT DELETE on Titulo to PUBLIC;
Nota: No se puede dar con la opcin WITH GRANT
OPTIONS para propagar el privilegio (dado que es pblico).
Los DBA deben extremar la prudencia en la concesin de
privilegios a PUBLIC.
Ing.Jonathan
Ing. Jonathan
Carrillo
Carrillo
- Noviembre
- Noviembre
2016 2016
Control de Acceso y Bases de Datos
3. Control de Acceso
> Discrecional basado en la concesin y revocacin
de privilegios DAC
Revoking Privileges
> Desactivar al user7 el privilegio de actualizacin
de la columna Id_Autor de la tabla TiTulo:
REVOKE UPDATE ON Titulo (Id_Autor)
FROM user7;
> Otro ejemplo:
GRANT DELETE on titles to public;
REVOKE DELETE on titles from userX;
> Nota: En varios DBMS no aplica la anterior sentencia, por lo que
el DBA debe conocer a fondo las sentencias GRANT y REVOKE
en el producto que se encuentra administrando.

Ing.Jonathan
Ing. Jonathan
Carrillo
Carrillo
- Noviembre
- Noviembre
2016 2016
Control de Acceso y Bases de Datos
3. Control de Acceso
> Discrecional basado en la concesin y revocacin
de privilegios DAC
Ejercicio:
A. Supongamos que el DBA crease cuatro cuentas
(A1, A2, A3 y A4) y quiere que slo A1 pueda
crear nuevas tablas; en este caso, el DBA debera
ejecutar el siguiente comando GRANT en SQL
> DBA:
GRANT CREATE TABLE TO A1;

Ing.Jonathan
Ing. Jonathan
Carrillo
Carrillo
- Noviembre
- Noviembre
2016 2016
Control de Acceso y Bases de Datos
3. Control de Acceso
> Discrecional basado en la concesin y revocacin
de privilegios DAC
Ejercicio:
B. Supongamos que A1 crease las dos relaciones base
EMPLEADO y DEPARTAMENTO.

Nota: A1 tiene todos los privilegios de relacin sobre cada una de ellas.

Ing.Jonathan
Ing. Jonathan
Carrillo
Carrillo
- Noviembre
- Noviembre
2016 2016
Control de Acceso y Bases de Datos
3. Control de Acceso
> Discrecional basado en la concesin y revocacin
de privilegios DAC
Ejercicio:

C. Supongamos que la cuenta A1 desea conceder a la


cuenta A2 el privilegio para insertar y borrar tuplas
en ambas relaciones. Sin embargo, A1 no quiere
que A2 pueda propagar estos privilegios a otras
cuentas. A1 podra ejecutar el siguiente comando:
> A1:
GRANT INSERT, DELETE ON
EMPLEADO, DEPARTAMENTO TO A2;
Ing.Jonathan
Ing. Jonathan
Carrillo
Carrillo
- Noviembre
- Noviembre
2016 2016
Control de Acceso y Bases de Datos
3. Control de Acceso
> Discrecional basado en la concesin y revocacin
de privilegios DAC
Ejercicio:
D. A continuacin,
supongamos que A1 desea permitir a la cuenta A3
obtener informacin de cualquiera de las dos tablas
y tambin poder propagar el privilegio SELECT a
otras cuentas. A1 podra ejecutar el siguiente
comando:
> A1:
GRANT SELECT ON EMPLEADO,
DEPARTAMENTO TO A3 WITH GRANT
OPTION;
Nota: A3 puede propagar el privilegio
Ing.Jonathan
Ing. Jonathan
Carrillo
Carrillo
- Noviembre
- Noviembre
2016 2016
Control de Acceso y Bases de Datos
3. Control de Acceso
> Discrecional basado en la concesin y revocacin
de privilegios DAC
Ejercicio:

E. Por lo anterior, A3 puede conceder el privilegio


SELECT sobre la relacin EMPLEADO a A4
ejecutando el comando siguiente:
> A3:
GRANT SELECT ON EMPLEADO TO A4;

Nota: A4 no puede propagar el privilegio SELECT a otras


cuentas ya que no se le concedi la opcin GRANT OPTION.
Ing.Jonathan
Ing. Jonathan
Carrillo
Carrillo
- Noviembre
- Noviembre
2016 2016
Control de Acceso y Bases de Datos
3. Control de Acceso
> Discrecional basado en la concesin y revocacin
de privilegios DAC
Ejercicio:
F. Supongamos ahora que A1 decide revocar a A3 el
privilegio SELECT sobre la relacin EMPLEADO.
A1 podra ejecutar este comando:
> A1:
REVOKE SELECT ON EMPLEADO
FROM A3;
Nota: El DBMS deber entonces revocar tambin de forma automtica el
privilegio SELECT sobre EMPLEADO a A4, ya que A3 concedi ese
privilegio a A4. A3 ya no dispone de ese privilegio.

Ing.Jonathan
Ing. Jonathan
Carrillo
Carrillo
- Noviembre
- Noviembre
2016 2016
Control de Acceso y Bases de Datos
3. Control de Acceso
> Discrecional basado en la concesin y revocacin
de privilegios DAC
Ejercicio:
G. A continuacin, supongamos que A1 desea
devolver a A3 unos permisos limitados de
SELECT sobre la relacin EMPLEADO y desea
permitir a A3 que pueda propagar el privilegio. La
limitacin consiste en poder obtener slo los
atributos Nombre y Direccin y slo para las tuplas
con el atributo Id_Empleado igual a 5.

Ing.Jonathan
Ing. Jonathan
Carrillo
Carrillo
- Noviembre
- Noviembre
2016 2016
Control de Acceso y Bases de Datos
3. Control de Acceso
> Discrecional basado en la concesin y revocacin
de privilegios DAC
Ejercicio:
A1 podra entonces crear la siguiente vista:

CREATE VIEW VistaParaA3 AS


SELECT NombreEmpleado,
DireccinEmpleado
FROM EMPLEADO
WHERE Id_Empleado= 5;

Ing.Jonathan
Ing. Jonathan
Carrillo
Carrillo
- Noviembre
- Noviembre
2016 2016
Control de Acceso y Bases de Datos
3. Control de Acceso
> Discrecional basado en la concesin y revocacin
de privilegios DAC
Ejercicio:
H. Una vez creada la vista, A1 podr conceder a A3 el
permiso para ejecutar SELECT sobre la vista
VistaParaA3segn se muestra a continuacin:
> A1:
GRANT SELECT ON VistaParaA3 TO A3
WITH GRANT OPTION;

Ing.Jonathan
Ing. Jonathan
Carrillo
Carrillo
- Noviembre
- Noviembre
2016 2016
Control de Acceso y Bases de Datos
3. Control de Acceso
> Discrecional basado en la concesin y revocacin
de privilegios DAC
Ejercicio:
I. Por ltimo, supongamos que Al desea permitir a
A4 que actualice slo el atributo Sueldo de
EMPLEADO. Al podr entonces ejecutar el
siguiente comando:
> A1:
GRANT UPDATE ON EMPLEADO
(Sueldo) TO A4;

Nota: Los privilegios UPDATE o INSERT pueden especificar atributos


en particular que puedan ser actualizados o insertados en una relacin.

Ing.Jonathan
Ing. Jonathan
Carrillo
Carrillo
- Noviembre
- Noviembre
2016 2016
Control de Acceso y Bases de Datos
3. Control de Acceso
> Discrecional basado en la concesin y revocacin
de privilegios DAC
Del ejercicio, tipos de privilegios como SELECT y
DELETE no se aplican a atributos en concreto ya
que esta funcionalidad se puede controlar fcilmente
mediante la creacin de las vistas adecuadas que
incluyan slo los atributos deseados y la concesin
de los privilegios correspondientes sobre las vistas
Sin embargo, debido a que la actualizacin de las
vistas no es siempre posible, a los privilegios
UPDATE e INSERT se les da la opcin de indicar
qu atributos en particular de una relacin base
pueden ser actualizados.
Ing.Jonathan
Ing. Jonathan
Carrillo
Carrillo
- Noviembre
- Noviembre
2016 2016
Control de Acceso y Bases de Datos
3. Control de Acceso
> Basado en roles (RBAC)
El Control de Acceso y Bases de Datos basado en
roles (RBAC, Role Based Access Control) surgi en
muy poco tiempo en los aos 90 como tecnologa
probada para la gestin y el reforzamiento de la
seguridad en sistemas empresariales a gran escala.
La idea bsica es que los permisos (privilegios)
estn asociados a roles y a los usuarios se les
asignan los roles.
Los roles se pueden crear y eliminar mediante los
comandos CREATE ROLE y DESTROY ROLE o
DROP ROLE (Depende del DBMS).

Ing.Jonathan
Ing. Jonathan
Carrillo
Carrillo
- Noviembre
- Noviembre
2016 2016
Control de Acceso y Bases de Datos
3. Control de Acceso
> Basado en roles (RBAC)

Roles: son un
conjunto de
privilegios y
derechos de acceso

Ing.Jonathan
Ing. Jonathan
Carrillo
Carrillo
- Noviembre
- Noviembre
2016 2016
Control de Acceso y Bases de Datos
3. Control de Acceso
> Basado en roles (RBAC)
Los comandos GRANT y REVOKE que se vieron en
el Control de Acceso y Bases de Datos Discrecional
(DAC) pueden ser usados para conceder y revocar
privilegios a los roles.
La jerarqua de roles en RBAC es el modo natural de
organizar los roles para que reflejen la jerarqua de
autoridad y de responsabilidades en la
organizacin.

Ing.Jonathan
Ing. Jonathan
Carrillo
Carrillo
- Noviembre
- Noviembre
2016 2016
Control de Acceso y Bases de Datos
3. Control de Acceso
> Basado en roles (RBAC)
Los modelos RBAC tienen varias caractersticas
interesantes, como la flexibilidad, la neutralidad en
las polticas, un mejor soporte para la gestin de la
seguridad y de la administracin, as como otros
aspectos que los hacen candidatos adecuados para el
desarrollo de aplicaciones web seguras.
Un modelo RBAC proporciona un mecanismo
natural para el tratamiento de los temas de seguridad
relacionados con la ejecucin de tareas y flujos de
trabajo.
Otra razn para el xito de los modelos RBAC ha
sido la facilidad para el desarrollo en Internet.
Ing.Jonathan
Ing. Jonathan
Carrillo
Carrillo
- Noviembre
- Noviembre
2016 2016
Control de Acceso y Bases de Datos
2. Enfoques de Seguridad
DCL: Data Control Language
> Control de Acceso y Bases de Datos: Basado en roles
> Trabajando con Roles
1. Se crean los roles
2. Se les conceden los privilegios a los roles.
3. Se crea un usuario
4. Se les asignan los roles a usuario

Ing.Jonathan
Ing. Jonathan
Carrillo
Carrillo
- Noviembre
- Noviembre
2016 2016
Control de Acceso y Bases de Datos
2. Enfoques de Seguridad
DCL: Data Control Language
> Control de Acceso y Bases de Datos: Basado en roles
Privilegios y Roles
Roles: son un conjunto de privilegios y derechos
de acceso.

Ing.Jonathan
Ing. Jonathan
Carrillo
Carrillo
- Noviembre
- Noviembre
2016 2016
Control de Acceso y Bases de Datos
2. Enfoques de Seguridad
DCL: Data Control Language
> Control de Acceso y Bases de Datos: Basado en roles
Trabajando con Roles
1. Se crean los roles
CREATE ROLE RolRBAC

2. Se les conceden los privilegios a los roles.


GRANT CREATE TABLE TO RolRBAC:

3. Se crea un usuario
CREATE LOGIN Usuario1
WITH PASSWORD = '12%$3#LAasasT';

CREATE USER Usuario1 FOR LOGIN Usuario1;


Ing.Jonathan
Ing. Jonathan
Carrillo
Carrillo
- Noviembre
- Noviembre
2016 2016
Control de Acceso y Bases de Datos
2. Enfoques de Seguridad
DCL: Data Control Language
> Control de Acceso y Bases de Datos: Basado en roles
Trabajando con Roles
4. Se les asignan los roles a usuario
GRANT RolRBAC TO Usuario1;

REVOKE y DROP:
REVOKE CREATE TABLE FROM RolRBAC;

DROP ROLE RolRBAC;

*Nota: Para eliminar un rol no debe haber miembros (usuarios) en el rol.


Ing.Jonathan
Ing. Jonathan
Carrillo
Carrillo
- Noviembre
- Noviembre
2016 2016
Control de Acceso y Bases de Datos
3. Control de Acceso
> Obligatorio (MAC)
Control de acceso Obligatorio conocido como:
MAC, Mandatory Access Control.
Se refiere a la clasificacin de los datos y los
usuarios basndose en clases de seguridad (etiquetas).
Combina su mecanismo de seguridad habitualmente
con los mecanismos de control de acceso
discrecional.
El control de acceso obligatorio NO lo ofrecen la
mayora de los DBMS comerciales.
La mayora de los DBMS comerciales slo
proporcionan en la actualidad mecanismos para el
control de acceso discrecional.
Ing.Jonathan
Ing. Jonathan
Carrillo
Carrillo
- Noviembre
- Noviembre
2016 2016
Control de Acceso y Bases de Datos
3. Control de Acceso
> Obligatorio (MAC)
Nota especial:

Some DBMS vendorsfor example, Oracle


have released special versions of their RDBMSs
that incorporate mandatory access control for
government use (Elmasri & Navathe)

Ing.Jonathan
Ing. Jonathan
Carrillo
Carrillo
- Noviembre
- Noviembre
2016 2016
Control de Acceso y Bases de Datos
3. Control de Acceso
> Obligatorio (MAC)
La seguridad a varios niveles generalmente se
evidencia en aplicaciones gubernamentales,
militares y en las de los servicios de inteligencia,
as como en muchas aplicaciones industriales y
corporativas.
Las clases o niveles de seguridad tpicas son:
> TS (Top Secret)
> S (Secret)
> C (Confidential)
> U (Unclassified)
Siendo Top Secret el nivel ms alto y
Unclassified el ms bajo.
Ing.Jonathan
Ing. Jonathan
Carrillo
Carrillo
- Noviembre
- Noviembre
2016 2016
Control de Acceso y Bases de Datos
3. Control de Acceso
> Obligatorio (MAC)
Utilizaremos el sistema de cuatro niveles de
clasificacin de seguridad, en el que:

TS >= S >= C >= U


El modelo utilizado habitualmente para la seguridad
a varios niveles, conocido como modelo Bell-
LaPadula clasifica cada sujeto (usuario, cuenta,
programa) y objeto (tabla, tupla, columna, vista, etc)
en una de los niveles/clases de seguridad TS, S, C, o
U.
Llamaremos Clase(s) al nivel de autorizacin de un
sujeto s; Clase(o) al nivel de seguridad de un objeto
o -> (TS-S-C-U).
Ing.Jonathan
Ing. Jonathan
Carrillo
Carrillo
- Noviembre
- Noviembre
2016 2016
Control de Acceso y Bases de Datos
3. Control de Acceso
> Obligatorio (MAC)
Basndonos en las clasificaciones de sujeto/objeto
podemos definir estas dos reglas:
1. A un sujeto s no se le permite el acceso de
lectura a un objeto o a menos que la Clase(s) >=
Clase(o). Esto se conoce como propiedad de
seguridad simple [lectura no ascendente]
2. A un sujeto s no se le permite escribir un
objeto o a menos que la Clase(s) <= Clase(o).
Esto se conoce como propiedad estrella o
propiedad (*). [escritura no descendente]

Ing.Jonathan
Ing. Jonathan
Carrillo
Carrillo
- Noviembre
- Noviembre
2016 2016
Control de Acceso y Bases de Datos

3. Control de Acceso
> Obligatorio (MAC)
LEE si: Clase(s) >= Clase(o) Un sujeto de un
ESCRIBE si: Clase(s) <= Clase(o) determinado nivel de
LECTURA Clase (O)
seguridad no puede leer
Clase(S) TS S C U un objeto perteneciente
TS Top Secret LEE LEE LEE LEE a un nivel de seguridad
S Secret NO LEE LEE LEE LEE ms alto. lectura no
C Confidential NO LEE NO LEE LEE LEE ascendente
U Unclassified NO LEE NO LEE NO LEE LEE
Un sujeto de un
ESCRITURA Clase (O)
determinado nivel de
Clase(S) TS S C U
TS Top Secret ESCRIBE NO ESCRIBE NO ESCRIBE NO ESCRIBE
seguridad no puede
S Secret ESCRIBE ESCRIBE NO ESCRIBE NO ESCRIBE escribir un objeto
C Confidential ESCRIBE ESCRIBE ESCRIBE NO ESCRIBE perteneciente a un nivel
U Unclassified ESCRIBE ESCRIBE ESCRIBE ESCRIBE de seguridad ms bajo.
Ing.Jonathan
Ing. Jonathan
Carrillo
Carrillo
- Noviembre 2016 2016 escritura no descendente
- Noviembre
Control de Acceso y Bases de Datos
3. Control de Acceso
> Obligatorio (MAC)
Clase (O)
Clase(S) TS S C U
LEE LEE LEE LEE
TS Top Secret
ESCRIBE NO ESCRIBE NO ESCRIBE NO ESCRIBE
NO LEE LEE LEE LEE
S Secret
ESCRIBE ESCRIBE NO ESCRIBE NO ESCRIBE
NO LEE NO LEE LEE LEE
C Confidential
ESCRIBE ESCRIBE ESCRIBE NO ESCRIBE
NO LEE NO LEE NO LEE LEE
U Unclassified
ESCRIBE ESCRIBE ESCRIBE ESCRIBE
Clasificaciones de seguridad Sujeto/Objeto y propiedades de
Lectura/Escritura
Por ejemplo: investigadores en el nivel secreto pueden crear informacin Secret o
Top Secret pero NO informacin confidencial o desclasificada/pblica.
Inversamente, los usuarios pueden ver solamente contenido de su propio nivel o
inferior. Ing.Jonathan
Ing. Jonathan
Carrillo
Carrillo
- Noviembre
- Noviembre
2016 2016
Control de Acceso y Bases de Datos
1. Lectura NO ascendente: Clase(s) >= Clase(o)-->lee
3. Control de Acceso 2. Escritura NO descendente: Clase(s) <= Clase(o)-->escribe
> Obligatorio (MAC)
Otra representacin clsica de MAC: investigadores en el nivel secreto pueden crear
informacin Secret o Top Secret, pero NO informacin confidencial o
desclasificada/pblica. Inversamente, los usuarios pueden ver solamente contenido de
su propio nivel o inferior.

Ing.Jonathan
Ing. Jonathan
Carrillo
Carrillo
- Noviembre
- Noviembre
2016 2016
Control de Acceso y Bases de Datos
3. Control de Acceso
> Obligatorio (MAC)
Para aadir conceptos de seguridad multinivel al
modelo de base de datos relacional, es habitual
considerar a los valores de atributos (registros) y a
las tuplas (filas) como objetos de datos.
De este modo, a cada atributo A se le asocia un
atributo de clasificacin C en el esquema, y a cada
valor de atributo en una tupla se le asocia su
correspondiente clasificacin de seguridad.
En algunos modelos se aade un atributo de
clasificacin de tupla TC a los atributos de relacin
para proporcionar una clasificacin a cada tupla en
su totalidad.
Ing.Jonathan
Ing. Jonathan
Carrillo
Carrillo
- Noviembre
- Noviembre
2016 2016
Control de Acceso y Bases de Datos
3. Control de Acceso
> Obligatorio (MAC)
Segn lo anterior, un esquema de relacin multinivel
R con n atributos se representara como:
R(A1, C1, A2, C2, ..., An, Cn, TC)
En donde:
Ai: Atributo (Columna)
Ci: Clasificacin asociado al Atributo Ai
TC: Clasificacin de la Tupla t
Una relacin multinivel contendr aparentemente datos
diferentes para los sujetos (usuarios) con distintos
niveles de seguridad.

Ing.Jonathan
Ing. Jonathan
Carrillo
Carrillo
- Noviembre
- Noviembre
2016 2016
Control de Acceso y Bases de Datos
3. Control de Acceso
> Obligatorio (MAC)

Un usuario con nivel de seguridad S

Clasificaciones de seguridad Sujeto/Objeto y propiedades de


Lectura/Escritura Primary Key: Name

Ing.Jonathan
Ing. Jonathan
Carrillo
Carrillo
- Noviembre
- Noviembre
2016 2016
Control de Acceso y Bases de Datos
3. Control de Acceso Tabla original

> Obligatorio (MAC)

Un usuario con nivel de seguridad C

Un usuario con nivel de seguridad U

Ing.Jonathan
Ing. Jonathan
Carrillo
Carrillo
- Noviembre
- Noviembre
2016 2016
Control de Acceso y Bases de Datos
3. Control de Acceso Tabla original

> Obligatorio (MAC)

Poliinstanciacin:
> Se refiere cuando en otros casos, es necesario
almacenar dos o ms tuplas de niveles de
clasificacin diferentes con el mismo valor para
la clave aparente.
> Es similar a la idea de tener varias versiones en la
base de datos para representar el mismo objeto
del mundo real.

Ing.Jonathan
Ing. Jonathan
Carrillo
Carrillo
- Noviembre
- Noviembre
2016 2016
Control de Acceso y Bases de Datos
3. Control de Acceso Tabla original

> Obligatorio (MAC)

Poliinstanciacin:
> Supongamos que un usuario con nivel de
seguridad C intenta actualizar el valor de
Rendimiento Trabajo de Smith'

Ing.Jonathan
Ing. Jonathan
Carrillo
Carrillo
- Noviembre
- Noviembre
2016 2016
Control de Acceso y Bases de Datos
3. Control de Acceso
> Obligatorio (MAC)

Poliinstanciacin:
> El sistema no debera rechazar la actualizacin;
en caso contrario el usuario con nivel de
seguridad C, podra deducir que existe algn
valor no nulo para el atributo JobPerformance de
'Smith' en lugar del valor nulo que aparece.

Resultado de la
actualizacin

Ing.Jonathan
Ing. Jonathan
Carrillo
Carrillo
- Noviembre
- Noviembre
2016 2016
Control de Acceso y Bases de Datos
3. Control de Acceso
> Obligatorio (MAC)

Poliinstanciacin:
> Esto es un ejemplo de la inferencia de
informacin a travs de lo que se conoce como
canal oculto, que no debera estar permitido en
sistemas de alta seguridad.
> Sin embargo, al usuario no se le debera permitir
sobrescribir el valor existente de JobPerformance
en el nivel de clasificacin ms alto.
> La solucin es crear una poliinstanciacin de la
tupla 'Smith' en el nivel de clasificacin ms bajo
C
Ing.Jonathan
Ing. Jonathan
Carrillo
Carrillo
- Noviembre
- Noviembre
2016 2016
Control de Acceso y Bases de Datos
3. Control de Acceso
> Obligatorio (MAC)
En general, la regla de integridad de entidad para las
relaciones multinivel obliga a que todos los
atributos que sean miembros de la clave aparente no
puedan ser valores nulos y a que tengan la misma
clasificacin de Seguridad en cada tupla individual.
Adems, el resto de valores de atributo de la tupla
deben tener una clasificacin de seguridad mayor
que o igual a la de la clave aparente. Esta
restriccin garantiza que un usuario pueda ver la
clave si al usuario se le permite ver cualquier parte
de la tupla.

Ing.Jonathan
Ing. Jonathan
Carrillo
Carrillo
- Noviembre
- Noviembre
2016 2016
Control de Acceso y Bases de Datos
3. Control de Acceso
> Obligatorio (MAC)
Otras reglas de integridad, llamadas integridad
nula e integridad interinstancia aseguran,
informalmente, que:
> si un valor de tupla en un determinado nivel de
seguridad se puede filtrar (derivar) desde una
tupla que est a un nivel de seguridad ms alto,
entonces es suficiente con almacenar en la
relacin multinivel la tupla que est a mayor
nivel.

Ing.Jonathan
Ing. Jonathan
Carrillo
Carrillo
- Noviembre
- Noviembre
2016 2016
Control de Acceso y Bases de Datos

3. Control de Acceso
> Control de Acceso discrecional (DAC) VS.
Control de Acceso Obligatorio (MAC)
El principal inconveniente de los modelos DAC es su
vulnerabilidad a ataques maliciosos, como los
caballos de Troya (Trojan Horse) incluidos en
programas de aplicacin.
La razn es que los modelos de autorizacin
discrecional no imponen ningn control sobre cmo
se propaga y se usa la informacin una vez que ha
sido accedida por los usuarios autorizados a hacerlo.

Ing.Jonathan
Ing. Jonathan
Carrillo
Carrillo
- Noviembre
- Noviembre
2016 2016
Control de Acceso y Bases de Datos

3. Control de Acceso
> Control de Acceso discrecional (DAC) VS.
Control de Acceso Obligatorio (MAC)
Por el contrario, las polticas obligatorias MAC
aseguran un alto grado de proteccin (dicho de otro
modo, previenen cualquier flujo ilegal de
informacin) indicadas para aplicaciones de tipo
militar.
Sin embargo, las polticas obligatorias tienen el
inconveniente de ser demasiado rgidas, ya que
requieren una clasificacin estricta de los sujetos y
de los objetos en niveles de seguridad y, por tanto,
son aplicables a muy pocos entornos.
Ing.Jonathan
Ing. Jonathan
Carrillo
Carrillo
- Noviembre
- Noviembre
2016 2016
Control de Acceso y Bases de Datos

3. Control de Acceso
> Control de Acceso discrecional (DAC) VS.
Control de Acceso Obligatorio (MAC)
MAC se centra en la confidencialidad* y no en la
integridad**
En la prctica, en la mayora de las situaciones se
prefieren las polticas discrecionales, pues ofrecen
una mejor relacin entre seguridad y aplicabilidad.

*Confidencialidad: consiste en evitar que personas, programas o sistemas no


autorizados puedan acceder a ella sin autorizacin.
**Integridad: es la caracterstica de la informacin relativa a su fiabilidad. Su
proteccin consiste en que la informacin no sea alterada o modificada sin
autorizacin.
Ing.Jonathan
Ing. Jonathan
Carrillo
Carrillo
- Noviembre
- Noviembre
2016 2016
Control de Acceso y Bases de Datos

4. Conclusin La Seguridad de la
Informacin y de las Bases
de Datos puede ser un
camino para mejorar muchos
aspectos relacionados con la
actividad de una empresa y
de la seguridad de una
nacin, hacindolos ms
productivos y competentes,
extendiendo su capacidad de
supervivencia ante desastres
y la posibilidad de ofrecer
garantas a sus clientes y
ciudadanos.

Ing.Jonathan
Ing. Jonathan
Carrillo
Carrillo
- Noviembre
- Noviembre
2016 2016

Anda mungkin juga menyukai