Vous êtes sur la page 1sur 47

SEGURIDAD EN BASES DE DATOS

2012 Grupo Kybele


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.

Vous aimerez peut-être aussi