22 Indice 1. Introduccin y Motivacin 2. Confidencialidad Mecanismos de Control de Acceso a BD SGBD Multinivel 3. Disponibilidad Concepto de Transaccin El fichero diario (log) Tcnicas de recuperacin 4. Integridad Integridad Semntica Integridad Operacional 5. Auditabilidad 2012 Grupo Kybele 33 Introduccin y Motivacin (I) El aspecto global de la seguridad de informacin est muy vinculado al propio concepto de BD: Un conjunto de datos integrados, adecuado a varios usuarios y a diferentes usos. El propio uso de los datos por parte de usuarios o programas plantea problemas de seguridad. W H O ? A S S E T S TP 1 TP 2 TP N TP Technological Product 2012 Grupo Kybele 44 Introduccin y Motivacin (II) La proteccin de datos deber realizarse contra: Fallos Fsicos (CPU, RAM, Disco, ). Fallos Lgicos (Programacin, SO, ). Fallos Humanos (Intencionales y no intencionales). Atendiendo los cinco aspectos fundamentales que comprende la seguridad: Confidencialidad. Disponibilidad. Integridad. Auditabilidad. No repudio. 2012 Grupo Kybele 55 Introduccin y Motivacin (III) Debemos ser conscientes que las medidas de seguridad que debemos establecer afectan: Comunicaciones (Canales cifrados). Sistemas Operativos (Actualizaciones de Seguridad). Tecnologas instaladas (Oracle, LDAP, ). SGBD (Control de Acceso, ). Medidas de Seguridad Fsicas (Ms de un CPD). Organizativas (Normas, Polticas, ISO-27000, ). Legales (LOPD). 2012 Grupo Kybele 66 Indice 1. Introduccin y Motivacin 2. Confidencialidad Mecanismos de Control de Acceso a BD SGBD Multinivel 3. Disponibilidad Concepto de Transaccin El fichero diario (log) Tcnicas de recuperacin 4. Integridad Integridad Semntica Integridad Operacional 5. Auditabilidad 2012 Grupo Kybele 77 Confidencialidad (I) Definicin ISO-17779 Garantizar que la informacin slo sea accedida por aquellas personas autorizadas a tener acceso. El sistema debe identificar, autenticar y autorizar a los usuarios que intentan acceder al sistema: IBM Host IBM RACF A c c e s s
C o n t r o l Data Programs I d e n t i f i c a t i o n A u t h e n t i c a t i o n 2012 Grupo Kybele 88 Confidencialidad (II) Mecanismos de Identificacin y Autenticacin: Usuario y contrasea. Identificacin por hardware. Biomtricos (huellas dactilares, voz, retina, ). Token de seguridad. Informacin predefinida (aficiones, datos culturales, ). El mecanismo de autorizacin o control de acceso se encarga de denegar o conceder el acceso a los usuarios. 2012 Grupo Kybele 99 Confidencialidad Control de Acceso (I) Tipos de Control de Acceso Control de Acceso Discrecional: Se utilizan para otorgar privilegios a los usuarios que tiene creados el SGDB. Control de Acceso Obligatorio: sirven para imponer seguridad en mltiples niveles, clasificando los datos y los usuarios en varias clases de seguridad. 2012 Grupo Kybele 10 10 Confidencialidad Control de Acceso (II) En el Control de Acceso Discrecional, el administrador de los datos, deber especificar los privilegios de un usuario autorizado sobre los objetos de la BD: IMPORTANTE: A cada usuario se le deben dar los permisos mnimos para realizar las funciones que tiene asignadas 2012 Grupo Kybele 11 11 Confidencialidad Control de Acceso (III) Para facilitar la administracin de la confidencialidad, algunos SGBD (ej. ORACLE) suelen incorporar los siguientes conceptos: Usuario: Son los requisitos que necesita un usuario para que se le asigne un rol (Profesor, Alumno, ). Rol: agrupa una serie de privilegios que se asigna de forma global a un usuario o perfil. CREATE USER alumno_Vicalvaro IDENTIFIED BY miclavesecreta; CREATE ROLE alumnos_URJC; GRANT SELECT, INSERT, UPDATE, DELETE ON T_MATRICULAS TO alumnos_URJC; GRANT alumnos_URJC TO alumno_Vicalvaro; 2012 Grupo Kybele 12 12 Confidencialidad Control de Acceso (IV) Es muy importante que cada BD que creemos dentro de nuestro SGBD, tenga mnimo un usuario especfico con permisos de acceso a la nueva BD. Objetivo => Cada una de las aplicaciones que interactan con el SGBD no deben acceder a las BBDD mediante el usuario root (MySQL) o dba_admin (ORACLE). Tiene sentido mantener el usuario root dentro de nuestro SGBD? 2012 Grupo Kybele 13 13 Confidencialidad BD Multinivel (I) Los SGDB Multinivel soportan el control de acceso obligatorio a travs de datos con diferentes niveles o clases de confidencialidad (clases de seguridad) y usuarios con diferentes clases de autoridad. Una clase de confidencialidad consta de dos componentes: Uno jerrquico: ALTO SECRETO (TS), SECRETO (S), CONFIDENCIAL (C), NO CLASIFICADO (U) TS S C U Un conjunto de categoras no jerrquicas (Finanzas, Ventas, Investigacin, etc.). 2012 Grupo Kybele 14 14 Confidencialidad BD Multinivel (II) Ladiferencia con respecto a la seguridad discrecional radica en que los datos tienen un nivel de seguridad por s mismos, con independencia de los permisos que se atribuyan a los usuarios. El modelo que suele usarse para la seguridad multinivel es el modelo de Bell-LaPadula: Asigna a cada sujeto (usuario, programa, ...) y objeto (relacin, tupla, columna, vista,...) una de las clases de seguridad (TS, S, C o U). Nos referiremos a la clasificacin de un sujeto S como clase(S). Nos referiremos a la clasificacin de un objeto O como clase(O). 2012 Grupo Kybele 15 15 Confidencialidad BD Multinivel (III) El modelo Bell-LaPadula asegura el cumplimiento de dos restricciones: Regla de lectura-no-ascendente (no-read-up), o propiedad de seguridad simple: Un sujeto S no puede tener acceso de lectura a un objeto O a menos que clase(S) clase(O). Es la encargada de proteger los datos contra accesos no autorizados, ya que ningn sujeto podr leer un objeto cuya clasificacin de seguridad sea ms alta que la clasificacin del propio sujeto. Reglas de escritura-no-descendente (no-write-down), o propiedad "*" (estrella): Un sujeto S no puede tener acceso de escritura a un objeto O a menos que clase(S) clase(O) Es la encargada de proteger los datos contra su contaminacin, ya que prohbe a un sujeto escribir a un objeto que tenga la clasificacin de seguridad menor que la clasificacin del sujeto. Cumpliendo la regla no-read-up => clase(S) =clase(O) 2012 Grupo Kybele 16 16 Confidencialidad SGBD Multinivel (IV) En caso de un SGBD Relacional Multinivel se deben clasificar los datos a nivel de atributo, tupla (fila) o relacin. As, cada atributo A est asociado a un atributo de clasificacin C en el esquema, y cada valor de atributo de una tupla est asociado a una clasificacin de seguridad correspondiente. Adems, en algunos modelos se aade un atributo de clasificacin de tupla CT a los atributos de la relacin. Una relacin multinivel R con N atributos con proteccin a nivel atributo se representa: R (A1, C1, ... , An, Cn, CT), donde Ci representa el atributo de clasificacin asociado al atributo Ai. Empleado (DNI, C, Nombre, U, Productividad, S, S) 2012 Grupo Kybele 17 17 Confidencialidad SGBD Multinivel (V) SGBD Relacional Multinivel El nombre de la relacin tambin tiene una clasificacin. (que debe ser tan alta como la clasificacin ms alta de los atributos contenidos en la relacin). Una relacin R puede ser accedida por cualquier sujeto S que cumpla: clase (S) clase (R), caso contrario habr que estudiar clase por clase cada uno de los atributos. 2012 Grupo Kybele 18 18 Indice 1. Introduccin y Motivacin 2. Confidencialidad Mecanismos de Control de Acceso a BD SGBD Multinivel 3. Disponibilidad Concepto de Transaccin El fichero diario (log) Tcnicas de recuperacin 4. Integridad Integridad Semntica Integridad Operacional 5. Auditabilidad 2012 Grupo Kybele 19 19 Disponibilidad (I) Definicin: es la caracterstica, cualidad o condicin de la informacin de encontrarse a disposicin de quienes deben acceder a ella, ya sean personas, procesos o aplicaciones. Para asegurar la disponibilidad de una BD se deben utilizar herramientas ajenas al SGDB: Mquinas tolerantes a fallos. Sistemas de alimentacin ininterrumpida. Tcnicas de tolerancia para redes de comunicaciones En este tema, slo nos vamos a centrar en la funcionalidad que proporciona el SGBD. 2012 Grupo Kybele 20 20 Disponibilidad (II) En lo que afecta al SGBD existen dos tipos importantes de fallos: Los que provocan la prdida de memoria voltil, usualmente debidos a la interrupcin del suministro elctrico o por funcionamiento anormal del hardware. Los que provocan la prdida de contenido de memoria secundaria, por ejemplo, el producido al patinar las cabezas de un disco. El principio bsico en el que se apoya la recuperacin de informacin de la base de datos ante cualquier fallo es la redundancia fsica. 2012 Grupo Kybele 21 21 Disponibilidad Transaccin (I) Def. Transaccin: secuencia de operaciones que han de ejecutarse de forma atmica. Propiedades de una transaccin: Atomicidad: se ejecutan todas las sentencias o ninguna. Preservacin de la consistencia: la ejecucin de una transaccin debe dejar a la BD en un estado consistente. Aislamiento: una transaccin no muestra los cambios que produce hasta que finaliza. Persistencia: puesto que una vez la transaccin finaliza con xito, sus efectos perduran en la BD. 2012 Grupo Kybele 22 22 Disponibilidad Transaccin (II) Despus de ejecutar una transaccin nos podemos encontrar en dos estados: xito: en cuyo caso las actualizaciones que constan la transaccin se graban (commit), es decir, se hacen persistentes. Fracaso: en cuyo caso debe ser restaurado el estado inicial en el que se encontraba la BD antes de que empezara a ejecutarse la transaccin. Las modificaciones debern deshacerse (rollback). 2012 Grupo Kybele 23 23 Disponibilidad Transaccin (III) Arquitectura de un SGBD en la gestin de transacciones y recuperacin GESTOR DE MEMORIA INTERMEDIA estable voltil 2012 Grupo Kybele 24 24 Disponibilidad Transaccin (IV) Copia Doble Las grandes organizaciones mantienen los datos originados por las transacciones duplicados en dos lugares distintos (como mnimo), separados fsicamente por centenas y millares de KM. El gestor de memoria intermedia cada vez que se realiza una transaccin con xito debe almacenar los datos en dos cabinas (o ms) de discos. Creis que este proceso tiene riesgo tolerable? 2012 Grupo Kybele 25 25 Disponibilidad El Fichero Diario (I) Un registro del fichero diario (log) suele constar: Identificador de la transaccin Usuario Hora de la modificacin Identificador del registro afectado Tipo de accin Valor anterior del registro Nuevo valor del registro Informacin adicional 2012 Grupo Kybele 26 26 Disponibilidad El Fichero Diario (II) Log write-ahead protocol: cambios en la BD y no en el fichero diario producen problemas; se obliga a que los registros que se modifican se escriban antes en el fichero diario que en la base de datos. El fichero diario: Puede ser un fichero circular. Puede constar de dos partes: La primera, en-lnea (en disco), que almacena las actualizaciones hasta que se llena. Momento en el que se pasa el contenido a la segunda parte (por ejemplo, en cinta). 2012 Grupo Kybele 27 27 Disponibilidad Tcnicas de Recuperacin (I) Recuperacin en caliente Al ocurrir un fallo de memoria voltil, el sistema consulta el fichero diario para determinar las transacciones que hay que deshacer porque no han sido completadas y las que hay que rehacer porque, si bien se han completado, no haban sido grabadas en la BD cuando se produjo el fallo. 2012 Grupo Kybele 28 28 Disponibilidad Tcnicas de Recuperacin (II) Recuperacin en fro Se produce cuando ocurre un fallo de memoria estable. Consiste en utilizar una copia de seguridad de la BD, tambin llamada de respaldo (backup), que permitir, junto con los ficheros diarios, reconstruir la BD. Error fatal Se produce cuando se pierde el fichero diario grabado en un soporte. En este caso resulta imposible recuperar la BD a su estado actual. La mejor solucin para evitar este problema es permitir la gestin de copias del fichero diario en dispositivos independientes. 2012 Grupo Kybele 29 29 Indice 1. Introduccin y Motivacin 2. Confidencialidad Mecanismos de Control de Acceso a BD SGBD Multinivel 3. Disponibilidad Concepto de Transaccin El fichero diario (log) Tcnicas de recuperacin 4. Integridad Integridad Semntica Integridad Operacional 5. Auditabilidad 2012 Grupo Kybele 30 30 Integridad Objetivo Proteger la BD contra operaciones que introduzcan inconsistencias en los datos: correccin, validez o precisin de los datos. El subsistema de integridad de un SGBD debe detectar y corregir las operaciones incorrectas. Existen dos tipos de operaciones que pueden atentar contra la integridad de los datos: Operaciones semnticamente inconsistentes. Interferencias debidas a accesos concurrentes. 2012 Grupo Kybele 31 31 Integridad Integridad Semntica (I) Existen operaciones que pueden violar restricciones definidas al disear la BD (sobre dominios o sobre atributos). Los SGBD tienen que ofrecer facilidades que permitan describir las restricciones, con una sintaxis adecuada y gran flexibilidad. Las reglas de integridad se almacenan en el diccionario (control centralizado de la semntica); ya no han de incluirse en los programas, con lo que se consiguen las siguientes ventajas: Las reglas de integridad son ms sencillas de entender y de cambiar, facilitando su mantenimiento. Se detectan mejor las inconsistencias. Se protege mejor la integridad, ya que ningn usuario podr escribir un programa que las viole. 2012 Grupo Kybele 32 32 Integridad Integridad Semntica (II) El subsistema de integridad del SGBD debe realizar las siguientes funciones: Comprobar la coherencia de las reglas que se definen. Controlar las distintas transacciones. Detectar las violaciones de integridad. Cuando se produce una violacin, ejecutar las acciones pertinentes. 2012 Grupo Kybele 33 33 Integridad Integridad Semntica (III) Problema En muchas organizaciones no se permiten identificar restricciones para controlar la integridad semntica dentro del SGBD. Solucin Aportar un aplicativo externo al SGBD que haga las comprobaciones de integridad semntica antes de incluir la informacin en la BD. Esta solucin implica: Ms facilidades para los programadores a la hora de realizar sus diseos. Mayor complejidad a la hora de mantener la integridad de los sistemas de informacin. 2012 Grupo Kybele 34 34 Integridad Integridad Operacional (I) En sistemas multiusuario es imprescindible un mecanismo de control de concurrencia para conservar la integridad de la BD. Si no tuviramos estos mecanismos, al interactuar con la BD se podran: Perder operaciones. Obtener salidas inconsistentes. Acceder a datos no reproducibles. Estado inconsistente de la BD 2012 Grupo Kybele 35 35 Integridad Integridad Operacional (II) 2012 Grupo Kybele 36 36 Integridad Integridad Operacional (III) Las tcnicas de control de concurrencia ms habituales son: Bloqueo. Marcas de tiempo. Tcnicas optimistas. Tcnicas avanzadas 2012 Grupo Kybele 37 37 Integridad Integridad Operacional (IV) Bloqueo o cerrojo Variable asociada a cada elemento de datos, describiendo el estado de dicho elemento respecto a las posibles operaciones (recuperacin o actualizacin). El propio SGBD gestiona ciertos bloqueos. Los usuarios tambin pueden bloquear, de forma explcita, los objetos deseados. Estos bloqueos pueden ser : Bloqueos exclusivos (o de escritura) Bloqueos compartidos (o de lectura) PROBLEMA INTERBLOQUEOS 2012 Grupo Kybele 38 38 Integridad Integridad Operacional (V) Granularidad del Bloqueo Los bloqueos afectan fuertemente al rendimiento del sistema. Los SGBD difieren en los niveles del bloqueo: Un campo/un atributo Un registro/una tupla Una tabla/una relacin La base de datos en su totalidad Si se utilizan bloqueos de distintas granularidades, puede hacer ineficiente el sistema. 2012 Grupo Kybele 39 39 Esta tcnica permite ordenar las transacciones y controlar un acceso en secuencia de las mismas a los datos. Integridad Integridad Operacional (VI) Marcas de tiempo (timestamping) Identificadores nicos que se asignan a las transacciones. Pueden considerarse como el tiempo de inicio de la transaccin. Con esta tcnica no existen interbloqueos. Todas las actualizaciones fsicas se retrasan hasta la grabacin de las transacciones. Si una transaccin quiere acceder a algn dato que ha sido actualizado por una ms reciente, se deshace y se vuelve a empezar. 2012 Grupo Kybele 40 40 Integridad Integridad Operacional (VII) Existen varios protocolos basados en marcas de tiempo: WAIT-DIE que fuerza a una transaccin a: Esperar en caso de que entre en conflicto con otra transaccin cuya marca de tiempo sea ms reciente, o Morir (abortar y reiniciar) si la transaccin que se est ejecutando es ms antigua. WOUND-WAIT: Permite a una transaccin matar a otra que posea una marca de tiempo ms reciente, o Fuerza a la transaccin peticionaria a esperar. 2012 Grupo Kybele 41 41 Integridad Integridad Operacional (VIII) Ejemplo 1 Tenemos dos transacciones: transaccin 1 (T1) y la transaccin 2 (T2). T1 es ms antigua que T2 Utilizando el protocolo WAIT-DIE, qu ocurrira si T1 solicita un objeto que est siendo usado por T2? Utilizando el protocolo WAIT-DIE, qu ocurrira si T2 solicita un objeto que est siendo usado por T1? Ejemplo 2 Qu ocurrira si estuviramos utilizando un protocolo WOUND-WAIT? 2012 Grupo Kybele 42 42 Integridad Integridad Operacional (IX) Tcnicas Optimistas Permiten que las transacciones accedan libremente a los objetos. Se determina, antes de su finalizacin, si ha habido o no interferencias. Cada transaccin consta de dos o ms fases: Una fase de lectura Una fase de validacin Y, posiblemente, una fase de escritura. Durante la fase de lectura todas las escrituras tienen lugar en copias locales (versiones transitorias). 2012 Grupo Kybele 43 43 Integridad Integridad Operacional (X) Tcnicas avanzadas Las aplicaciones avanzadas de BD (CAD/CAM, CASE, OIS, GIS) requieren nuevos mecanismos de control de concurrencia: Transacciones anidadas (definiendo rboles de transacciones, de diferentes niveles de imbricacin). Transacciones de larga duracin (das, semanas). Transacciones de cooperativas (orientadas a grupos, conversacionales, de diseo, etc. que pretenden facilitar la coordinacin del acceso a los recursos gestionados por la BD). 2012 Grupo Kybele 44 44 Indice 1. Introduccin y Motivacin 2. Confidencialidad Mecanismos de Control de Acceso a BD SGBD Multinivel 3. Disponibilidad Concepto de Transaccin El fichero diario (log) Tcnicas de recuperacin 4. Integridad Integridad Semntica Integridad Operacional 5. Auditabilidad 2012 Grupo Kybele 45 45 Auditabilidad (I) Auditora Informtica Es un proceso que consiste en recoger, agrupar y evaluar evidencias para determinar si un sistema de informacin: Salvaguarda los activos de informacin de la organizacin. Mantiene la integridad de los datos. Utiliza eficientemente los recursos. Cumple con las leyes y regulaciones establecidas. Auditar consiste principalmente en estudiar los mecanismos de seguridad que estn implantados en una empresa u organizacin. 2012 Grupo Kybele 46 46 Auditabilidad (II) Auditoras en BBDD Se debe comprobar que los controles de acceso, los sistemas de actualizacin, los sistemas de integridad y la calidad de los datos son los exigidos dentro de los requisitos de la organizacin. Oracle permite auditoras selectivas de las acciones de los usuarios para ayudar en la investigacin de uso dudoso de la BD. Se pueden realizar a tres niveles: de sentencias, de privilegios o de objetos. El resultado de la auditora se almacena en una tabla denominada rastro de la auditora. 2012 Grupo Kybele 47 47 Bibliografa 1. TECNOLOGA Y DISEO DE BASES DE DATOS M.Piattini, E. Marcos, C.Calero y B. Vela Ed.: RA-MA, 2006 Octubre 2. MORANT, J.L., RIBAGORDA, A. y SANCHO, J. (1994) "Seguridad y proteccin de la informacin". Ed. Fundacin Ramn Areces, Madrid. 3. CASTANO, S., FUGINI, M., MARTELLA, G. y SAMARATI, P. (1995) "Database Security". Addison- Wesley, Wokingham, Inglaterra. 4. BERNSTEIN, P.A, HADZILACOS, V. y GOODMAN, N. (1987) "Concurrency Control and Recovery in Database Systems". Addison-Wesley, Reading, Massachusetts.