Story Transcript
SEGURIDAD EN LAS BASES DE DATOS
Seguridad en BD Consideraciones Generales
Medidas de seguridad Mecanismos de Seguridad
Administrador de la BD
Seguridad en los datos - Mecanismo de vistas - Subsistema de autorización
Seguridad de usuarios
Seguridad se refiere a la protección de los datos contra una revelación, alteración o destrucción no autorizada. La seguridad implica asegurar que los usuarios están autorizados para llevar a cabo lo que tratan de hacer. (Date C. J., Introducción a los sistemas de bases de datos Volumen 1)
SEGURIDAD EN LAS BASES DE DATOS
Seguridad en BD Consideraciones Generales
Medidas de seguridad Mecanismos de Seguridad
Administrador de la BD
Seguridad en los datos - Mecanismo de vistas
Consideraciones generales: •Aspectos legales, sociales y éticos •Controles físicos •Cuestiones de política interna •Problemas de operación •Controles del equipo •Seguridad del sistema operativo
- Subsistema de autorización
Seguridad de usuarios
SEGURIDAD EN LAS BASES DE DATOS
Seguridad en BD Consideraciones Generales
Medidas de seguridad Mecanismos de Seguridad
Administrador de la BD
Seguridad en los datos - Mecanismo de vistas - Subsistema de autorización
Seguridad de usuarios
Medidas de seguridad • Físicas: Controlar el acceso al equipo. Tarjetas de acceso, etc. • Personal: Acceso sólo del personal autorizado. Evitar sobornos, etc. • SO: Seguridad a nivel de SO • SGBD: Uso de herramientas de seguridad que proporcione el SGBD. Perfiles de usuario, vistas, restricciones de uso de vistas, etc.
MECANISMOS DE SEGURIDAD
Seguridad en BD Consideraciones Generales
Medidas de seguridad Mecanismos de Seguridad
Administrador de la BD
Seguridad en los datos - Mecanismo de vistas - Subsistema de autorización
Seguridad de usuarios
• Discrecionales: Se usan para otorgar privilegios a los usuarios, incluida la capacidad de tener acceso a archivos, registros o campos de datos específicos en un determinado modo. • Obligatorios: Sirven para imponer igualdad de múltiples niveles clasificando los datos y los usuarios en varias clases (o niveles) de seguridad e implementando después la política de seguridad apropiada de la organización.
ADMINISTRADOR DE LA BASE DE DATOS
Seguridad en BD Consideraciones Generales
Medidas de seguridad Mecanismos de Seguridad
Administrador de la BD
Seguridad en los datos - Mecanismo de vistas - Subsistema de autorización
Seguridad de usuarios
Otorgar privilegios a los usuarios y clasificar los usuarios y los datos de acuerdo con la política de la organización. Tipos de acciones: 1. Creación de cuentas 2. Concesión de privilegios. 3. Revocación de privilegios. 4. Asignación de niveles de seguridad. El DBA es el responsable de la seguridad global del sistema de base de datos.
SEGURIDAD EN LOS DATOS
Seguridad en BD Consideraciones Generales
Medidas de seguridad Mecanismos de Seguridad
Administrador de la BD
Seguridad en los datos - Mecanismo de vistas
• Mecanismo de vistas: Se puede utilizar para ocultar datos confidenciales a usuarios no autorizados. • Subsistema de autorización: Permite a los usuarios con derechos específicos conceder de manera selectiva y dinámica esos derechos a otros usuarios, y si lo desean revocarlos.
- Subsistema de autorización
Seguridad de usuarios
MECANISMO DE VISTAS
Seguridad en BD Consideraciones Generales
Medidas de seguridad Mecanismos de Seguridad
Administrador de la BD
Seguridad en los datos - Mecanismo de vistas - Subsistema de autorización
Seguridad de usuarios
En éste mecanismo los usuarios pueden consultar y modificar los datos que ven, quedando el resto de la base de datos invisible o inaccesible. Provee una forma segura y simple de controlar el acceso a los datos.
MECANISMO DE VISTAS
Seguridad en BD Consideraciones Generales
Medidas de seguridad Mecanismos de Seguridad
Administrador de la BD
Seguridad en los datos
La “VISTA_1” está formada con todos los campos de las tablas “TABLA_1” y “TABLA_2”; Esto permite - Subsistema de restringir el acceso de los usuarios a la “VISTA_1” en autorización lugar de autorizarlos a acceder a las tablas Seguridad de usuarios “TABLA_1”, “TABLA_2” - Mecanismo de vistas
MECANISMO DE VISTAS
Seguridad en BD Consideraciones Generales
Medidas de seguridad Mecanismos de Seguridad
Administrador de la BD
Seguridad en los datos - Mecanismo de vistas - Subsistema de autorización
Seguridad de usuarios
Las vistas como objeto de la base de datos materializan conceptos de seguridad tales como: • Dependencia e independencia del valor. • Subconjunto de filas y columnas.
DEPENDENCIA DEL VALOR
Seguridad en BD Consideraciones Generales
Medidas de seguridad Mecanismos de Seguridad
Administrador de la BD
Seguridad en los datos - Mecanismo de vistas - Subsistema de autorización
El acceso está restringido a solo un subconjunto de filas de una tabla base. (Conjunto horizontal) Por ejemplo ¿Cual es el conjunto de proveedores localizados en la ciudad de Mendoza?
CREATE VIEW PROVEEDORES _ MENDOZA AS SELECT P_ID, P_NOMBRE, P_SITUACION, P_CIUDAD FROM PROVEEDORES WHERE P_CIUDAD = “Mendoza”;
Seguridad de usuarios
INDEPENDENCIA DEL VALOR
Seguridad en BD Consideraciones Generales
Medidas de seguridad Mecanismos de Seguridad
Administrador de la BD
Seguridad en los datos - Mecanismo de vistas - Subsistema de autorización
Seguridad de usuarios
El acceso está restringido a solo un subconjunto de columnas de una tabla base. (Conjunto vertical) Por ejemplo, definir una vista que solo muestre el identificador, nombre y ciudad de todos los proveedores:
CREATE VIEW ID_NOMBRE_CIUDAD AS SELECT P_ID, P_NOMBRE, P_CIUDAD FROM PROVEEDORES; Se muestran a todos los proveedores incluidos en la tabla proveedores.
SUBCONJUNTO DE FILAS Y COLUMNAS
Seguridad en BD Consideraciones Generales
Medidas de seguridad Mecanismos de Seguridad
Administrador de la BD
Seguridad en los datos - Mecanismo de vistas - Subsistema de autorización
Seguridad de usuarios
Equivale a restringir el acceso a solo un grupo de filas y columnas. Por ejemplo permitir el acceso a la tabla PROVEEDORES para mostrar solo las columnas identificador, nombre y ciudad de todos los proveedores localizados en la ciudad de Mendoza.
CREATE VIEW MENDOZA_ID_NOMBRE_CIUDAD AS SELECT P_ID, P_NOMBRE, P_CIUDAD FROM PROVEEDORES WHERE P_CIUDAD = “Mendoza”;
EL SUBSISTEMA DE AUTORIZACIÓN
Este mecanismo permite especificar las operaciones que los usuarios autorizados pueden ejecutar sobre los Consideraciones Generales objetos de la base de datos. Esta función se Medidas de seguridad materializa a través de las proposiciones GRANT (conceder) y REVOKE (revocar) de SQL. Seguridad en BD
Mecanismos de Seguridad
Para realizar cualquier operación con SQL sobre un objeto de base de datos, el usuario debe; en primer Seguridad en los datos lugar; contar con la autorización apropiada para - Mecanismo de vistas realizar dicha operación, caso contrario, la operación es rechazada con un código de excepción o mensaje de - Subsistema de error. autorización Administrador de la BD
Seguridad de usuarios
EL SUBSISTEMA DE AUTORIZACIÓN
Seguridad en BD Consideraciones Generales
Medidas de seguridad Mecanismos de Seguridad
Administrador de la BD
Seguridad en los datos - Mecanismo de vistas - Subsistema de autorización
Ejemplo: Para ejecutar la siguiente proposición...
SELECT * FROM TABLA_1; ....el usuario necesita la autorización de selección (SELECT) sobre la tabla TABLA_1. Las proposiciones GRANT y REVOKE “conceden” y “revocan” respectivamente derechos sobre objetos tales como tablas, vistas y procedimientos almacenados.
Seguridad de usuarios
EL SUBSISTEMA DE AUTORIZACIÓN
Seguridad en BD Consideraciones Generales
Medidas de seguridad Mecanismos de Seguridad
Administrador de la BD
Seguridad en los datos - Mecanismo de vistas - Subsistema de autorización
Seguridad de usuarios
Esto hace posible, desde el punto de vista de seguridad, mantener un control permanente de quien o quienes pueden realizar operaciones (crear, ejecutar, seleccionar, modificar, borrar, insertar, alterar, etc.) sobre objetos, permitiendo implementar una estructura de seguridad racional y esquematizada.
CLAUSULAS GRANT Y REVOKE
Seguridad en BD Consideraciones Generales
Medidas de seguridad Mecanismos de Seguridad
Administrador de la BD
Seguridad en los datos - Mecanismo de vistas - Subsistema de autorización
Seguridad de usuarios
Conceder permisos en Tablas: GRANT privilegios ON nombre de la relación o vista. TO lista de usuarios [public]
GRANT ALL ON TABLE POZOS TO ingeniería; Concede al grupo “ingeniería” (este puede ser el grupo previamente creado al cual se asocien los empleados pertenecientes al departamento de ingeniería), todos los derechos o autorizaciones que existan (SELECT, DELETE, INSERT, UPDATE) sobre la tabla “POZOS”.
CLAUSULAS GRANT Y REVOKE
Seguridad en BD Consideraciones Generales
Medidas de seguridad Mecanismos de Seguridad
Administrador de la BD
Seguridad en los datos - Mecanismo de vistas - Subsistema de autorización
Seguridad de usuarios
Conceder permisos en Tablas:
GRANT SELECT ON TABLE POZOS TO javierA; Concede al usuario “javierA” solo permiso de lectura o selección sobre la tabla “POZOS”.
GRANT INSERT, DELETE ON TABLE POZOS TO leomar, geologia;
Concede al usuario “leomar” y al grupo “geologia” (suponemos que es un grupo creado previamente), los permisos de inserción y eliminación de registros sobre la tabla “POZOS”.
CLAUSULAS GRANT Y REVOKE
Seguridad en BD Consideraciones Generales
Medidas de seguridad Mecanismos de Seguridad
Administrador de la BD
Seguridad en los datos - Mecanismo de vistas
Revocar permisos en Tablas:
REVOKE privilegios ON nombre de la relación o vista. TO lista de usuarios [public] REVOKE SELECT ON TABLE POZOS TO javierA;
Revoca al usuario “javierA” el permiso de lectura o selección sobre la tabla “POZOS”.
- Subsistema de autorización
Seguridad de usuarios
CLAUSULAS GRANT Y REVOKE
Seguridad en BD Consideraciones Generales
Medidas de seguridad Mecanismos de Seguridad
Administrador de la BD
Seguridad en los datos - Mecanismo de vistas - Subsistema de autorización
Seguridad de usuarios
Revocar permisos en Tablas:
REVOKE DELETE ON TABLE POZOS TO leomar;
Revoca al usuario “leomar” el permiso de eliminación de registros sobre la tabla “POZOS”. Obviamente el permiso revocado debió ser concedido previamente con la proposición GRANT.
MÉTODOS ADICIONALES
Seguridad en BD Consideraciones Generales
Medidas de seguridad Mecanismos de Seguridad
Administrador de la BD
Seguridad en los datos - Mecanismo de vistas
Entre ellos se puede considerar al “cifrado de los datos” y seguimiento de “registros de auditoría”. Esta última alternativa no previene ni evita los posibles ataques a los que puedan ser sometidos los datos y objetos de las bases de datos, pero sí permite identificar procesos y personas que de algún modo u otro hayan intentado o logrado realizar procesos indebidos o no autorizados.
- Subsistema de autorización
Seguridad de usuarios
Mecanismo para control y seguridad de usuarios
Seguridad en BD Consideraciones Generales
Medidas de seguridad Mecanismos de Seguridad
Administrador de la BD
Seguridad en los datos - Mecanismo de vistas - Subsistema de autorización
Seguridad de usuarios
Las actividades de creación y mantenimiento de logins y usuarios de las bases de datos se reparten entre: • System Security Officer (SSO) • System Administrator (SA) • DataBase Owner (DBO).
Mecanismo para control y seguridad de usuarios
Seguridad en BD Consideraciones Generales
Medidas de seguridad Mecanismos de Seguridad
Administrador de la BD
Seguridad en los datos - Mecanismo de vistas - Subsistema de autorización
Seguridad de usuarios
La síntesis del proceso de agregar nuevos usuarios consta de los siguientes pasos: 1. El SSO crea una cuenta para el login al DBMS. 2. Un SA o DBO agrega un usuario; para el login creado; a una base de datos. Se puede dar al usuario un alias o asignarlo a un grupo de usuarios. 3. Un SA, DBO o propietario del objeto concede al/os usuario/s o grupo específico los permisos sobre comandos u objetos de la/s base/s de datos.
Mecanismo para control y seguridad de usuarios
Seguridad en BD Consideraciones Generales
Medidas de seguridad Mecanismos de Seguridad
Administrador de la BD
Seguridad en los datos - Mecanismo de vistas - Subsistema de autorización
Seguridad de usuarios
• Crear logins para el DBMS SA o SSO. Procedimiento addlogin. Se agrega una fila a la tabla de sistema syslogins. (uid) identificador de usuario. • Crear usuario de la base de datos Procedimiento adduser. El usuario debe existir como login del DBMS. Se agrega una fila en la tabla sysusers que pertenece a la base de datos corriente.
Procedimientos estándar para administración de usuarios
Procedimientos estándar para administración de usuarios
REVOKE Ejemplo
Seguridad en BD Consideraciones Generales
Medidas de seguridad Mecanismos de Seguridad
Administrador de la BD
Seguridad en los datos - Mecanismo de vistas - Subsistema de autorización
Seguridad de usuarios
CLAUSULAS GRANT Y REVOKE
Seguridad en BD Consideraciones Generales
Medidas de seguridad Mecanismos de Seguridad
Administrador de la BD
Seguridad en los datos - Mecanismo de vistas - Subsistema de autorización
Seguridad de usuarios
Regla de Revocación: Se revoca un privilegio acordado a un desautorizado si este privilegio se dio antes de cualquier otro privilegio que aun posea el desautorizado Si el DBA revoca el privilegio para U1: -Se debe revocar la concesión de U4 dado que U1 ya no tiene autorización -No se debe revocar la autorización de U5 dado que U5 tiene otro camino de autorización desde DBA a través de U2
CLAUSULAS GRANT Y REVOKE
Seguridad en BD Consideraciones Generales
Medidas de seguridad Mecanismos de Seguridad
Administrador de la BD
Seguridad en los datos - Mecanismo de vistas - Subsistema de autorización
Se deben prevenir ciclos de concesiones sin camino desde la raíz: -DBA concede autorización a U7 -U7 concede autorización a U8 -U8 concede autorización a U7 -DBA revoca la autorización a U7 -Se debe revocar la concesión de U7 a U8 y de U8 a U7 dado que no queda ningún camino desde DBA a U7 o a U8.
Seguridad de usuarios
Seguridad Multinivel
Seguridad Multinivel Niveles y Categorias Ejemplo Control de Inferencia Ejemplos
Un SGBD multinivel soporta datos con diferentes niveles o clases de confidencialidad y usuarios con diferentes clases de autoridad. El problema de control de flujos se ilustra en la figura siguiente: Juan
Cecilia
R
C(R)
Criptografía Tipos de llaves Principales elementos Componentes
Seguridad Multinivel
Seguridad Multinivel Niveles y Categorias Ejemplo Control de Inferencia Ejemplos Criptografía Tipos de llaves
En general, se puede decir que un flujo existe entre un objeto X y un objeto Y cuando un programa lee X y hace escrituras sobre Y. El protocolo mas sencillo de control de flujos comprende dos niveles: libre y confidencial.
Principales elementos Componentes
Niveles de Control de Flujo
Seguridad Multinivel Niveles y Categorias Ejemplo
En este caso se permite cualquier flujo de datos excepto aquellos que van del nivel confidencial al nivel libre:
Control de Inferencia Ejemplos Criptografía Tipos de llaves Principales elementos Componentes
Libre
Confidencial
Seguridad Multiniveles
Seguridad Multinivel Niveles y Categorias Ejemplo Control de Inferencia Ejemplos Criptografía Tipos de llaves Principales elementos Componentes
Se puede establecer al menos 4 niveles de autorización con el siguiente orden: No Clasificado M.Salario AND E.ND = D.NumeroD AND D.NSS_Jefe = M.NSS));
TRIGGERS
Integridad Restr. de dominios Reglas de integridad Asertos Triggers
Un trigger o un disparador en una Base de datos es un evento que se ejecuta cuando se cumple una condición establecida al realizar una operación de inserción (INSERT), actualización (UPDATE) o borrado (DELETE).
TRIGGERS
Integridad Restr. de dominios Reglas de integridad Asertos Triggers
Para diseñar un mecanismo disparador hay que cumplir dos requisitos: 1. Especificar las condiciones en las que se va a ejecutar el disparador. 2. Especificar las acciones que se van a realizar cuando se ejecute el disparador.
TRIGGERS
Integridad Restr. de dominios Reglas de integridad Asertos Triggers
Disparadores en SQL Los sistemas de bases de datos SQL usan ampliamente los disparadores, aunque antes de SQL:1999 no fueron parte de la norma. Por desgracia, cada sistema de bases de datos implementó su propia sintaxis para los disparadores, conduciendo a incompatibilidades.
TRIGGERS
Integridad Restr. de dominios Reglas de integridad Asertos Triggers
Tipos Existen dos tipos de triggers, que se clasifican según la cantidad de ejecuciones a realizar: • Row Triggers: se disparan una vez por cada fila afectada. • Statement Triggers: son aquellos que sin importar la cantidad de veces que se cumpla con la condición, su ejecución es única.
TRIGGERS
Integridad Restr. de dominios Reglas de integridad Asertos Triggers
Componentes: La estructura básica de un trigger es: • Llamada de activación: es la sentencia que permite "disparar" el código a ejecutar. • Restricción: es la condición necesaria para realizar el código. • Acción a ejecutar: es la secuencia de instrucciones a ejecutar una vez que se han cumplido las condiciones iniciales.
TRIGGERS
Integridad Restr. de dominios Reglas de integridad Asertos Triggers
La sintaxis para la creación de triggers es la siguiente: CREATE TRIGGER ON FOR EACH EXECUTE PROCEDURE ();
TRIGGERS
Integridad Restr. de dominios Reglas de integridad Asertos Triggers
CREATE TRIGGER contar AFTER INSERT ON Estudiantes WHEN (new.edad < 18) FOR EACH ROW BEGIN cont := cont + 1; END
TRIGGERS
Integridad Restr. de dominios Reglas de integridad Asertos Triggers
Usos: • Son usados para mejorar la administración de la Base de datos, sin necesidad de contar con el usuario que ejecute la sentencia de SQL. • Los disparadores se crean con la finalidad de mantener la integridad del sistema.
TRIGGERS
Integridad Restr. de dominios Reglas de integridad Asertos Triggers
• La activación de un disparador puede activar otro disparador y crear así una cadena de activación de disparadores.
REFERENCIAS • Date, C. J. 1993. Introducción a los sistemas de bases de datos VOLUMEN 1 (Ed. Addison-Wesley Iberoamericana). • Fernandez, E. B., Summers, R. C. y Wood, C. 1981. Database Security and Integrity (AddisonWesley). • http://www.monografias.com/trabajos26/segurid ad-base-datos/seguridad-base-datos3.shtml • http://www.itba.edu.ar/capis/rtis/articulosdelosc uadernosetapaprevia/VASCONI-SEGURIDAD.pdf • http://webdia.cem.itesm.mx/ac/rogomez/Tesis/a bsRocio.html