Sunteți pe pagina 1din 14

11.

Seguridad en sistemas de
bases de datos
Objetivos
Comprender la necesidad de controlar el acceso a la
informacin almacenada por parte de usuarios no
autorizados
Conocer las posibilidades que puede ofrecer un sistema de
bases de datos relacional para establecer la seguridad y
privacidad de los datos almacenados

Contenidos
11.1 El problema de la seguridad
11.2 Control de acceso (global, obligatorio, discrecional)
11.3 Seguridad en SQL-92
11.4 Otros aspectos de seguridad: auditora y cifrado
Tema 4. Seguridad en Sistemas de Bases de Datos 1

11. Seguridad en sistemas de


bases de datos

Bibliografa

[EN 2002] Elmasri, R.; Navathe, S.B.: Fundamentos de Sistemas de


Bases de Datos. 3 Edicin. Addison-Wesley. (Cap. 22)
[EN 1997] Elmasri, R.; Navathe, S.B.: Sistemas de bases de datos.
Conceptos fundamentales. 2 Ed. Addison-Wesley
Iberoamericana. (Cap. 20)
[CBS 1998] Connolly et al.: Database Systems: A Practical Approach to
Design, Implementation and Management. 2 nd Ed.
Addison-Wesley (Cap. 16)
[DD 1996] Date, C.J.; Darwen, H.: A guide to the SQL Standard. 4th Ed.
Addison-Wesley (Cap. 15)

Tema 4. Seguridad en Sistemas de Bases de Datos 2


11.1 El problema de la seguridad
Aspectos del problema de la seguridad
El mbito de la seguridad de las bases de datos es amplio, pues abarca
aspectos relacionados con hardware, software, personas y datos:

Legales, sociales y ticos


el solicitante tiene el derecho legal de obtener determinada informacin?
(saldos de cuentas de clientes)
cmo asegurar que no se revelen datos confidenciales a cambio de sobornos
u otros favores?
Poltica gubernamental, institucional o corporativa
qu informacin no debe estar disponible al pblico? (historiales mdicos...)
cmo se decide quin puede acceder a qu?
Controles fsicos
cmo proteger fsicamente contra intrusos las salas en donde estn los
sistemas informticos?

Tema 4. Seguridad en Sistemas de Bases de Datos 3

11.1 El problema de la seguridad


Aspectos del problema de la seguridad (y 2)
Seguridad del S.O.
borra el SO el contenido de reas de almacenamiento y archivos de datos
cuando no se necesitan?
el SO permite el acceso directo a los ficheros de la base de datos?
si se usan contraseas para el acceso al SO cmo se mantienen en secreto?
con qu frecuencia se cambian?
Seguridad de la red
la seguridad en el nivel de software de red es hoy en da fundamental, tanto
en Internet como en las redes privadas de las organizaciones

Aspectos especficos del sistema de bases de datos


dispone el sistema de BD de un concepto de propiedad de la informacin?
cmo evitar que los usuarios puedan acceder a ciertas partes de la BD?
cmo limitar las operaciones que los usuarios pueden realizar sobre la BD?

I Hay que adoptar medidas de seguridad en todos estos niveles,


pero nos centraremos en el ltimo de ellos...
Tema 4. Seguridad en Sistemas de Bases de Datos 4
11.1 El problema de la seguridad
La seguridad es crucial en SBD multiusuario, pues
Diferentes usuarios usan una misma (y grande) BD integrada
Informacin confidencial (salarios, saldos) debe ocultarse a la
mayora de usuarios
El SGBD proporciona tcnicas para que (grupos de) usuarios tengan
acceso a ciertas partes de la base de datos , sin tener acceso al resto

La proteccin total y absoluta de la BD contra el mal uso


intencionado es imposible

Pero se puede elevar el coste de los intentos de acceso no


autorizado lo suficiente como para disuadirlos

Tema 4. Seguridad en Sistemas de Bases de Datos 5

11.1 El problema de la seguridad


El esfuerzo por conservar la seguridad de la BD merece la
pena...
Grandes bases de datos de nminas o datos financieros
atractivas para ladrones
Bases de datos de operaciones empresariales

La prdida de datos (por accidente o fraude) supone elevados costes y


disminucin de la capacidad de la empresa para seguir funcionando

El Subsistema de Seguridad y Autorizacin del SGBD


garantiza la seguridad de (partes de) la base de datos contra
accesos no autorizados

Tema 4. Seguridad en Sistemas de Bases de Datos 6


11.1 El problema de la seguridad
Diferencias Seguridad / Integridad:
Seguridad: proteccin de datos contra revelacin, alteracin o
destruccin no autorizados
Asegurar que los usuarios estn autorizados para hacer lo que
quieren hacer
Integridad: exactitud o validez de datos (reflejo de la realidad)
Asegurar que lo que los usuarios tratan de hacer es correcto, y
Evitar la prdida accidental de la consistencia

Similitudes Seguridad / Integridad:


El sistema debe conocer las restricciones que los usuarios no
deben violar
Restricciones especificadas en un lenguaje apropiado
Restricciones deben ser almacenadas y mantenidas en el catlogo
del sistema
El SGBD debe supervisar la interaccin de cada usuario con la BD,
para controlar el cumplimiento de las restricciones
Tema 4. Seguridad en Sistemas de Bases de Datos 7

11.2 Control de acceso


Un SGBD tiene definido el objeto de datos:
Unidad de datos que requiere proteccin individual
Puede ser desde la base de datos completa, o un conjunto de tablas
... hasta una posicin (fila,columna) dentro de cierta tabla

Un SGBD moderno suele implementar uno o ambos de estos


mecanismos de seguridad:
CONTROL DISCRECIONAL
CONTROL OBLIGATORIO

Mediante estos mecanismos se puede especificar...


qu usuarios tienen acceso a qu datos, e incluso
qu operaciones pueden realizar sobre dichos datos

Tema 4. Seguridad en Sistemas de Bases de Datos 8


11.2 Control de acceso
Las decisiones sobre seguridad ...
son polticas, no tcnicas: estn fuera del SGBD
pero el SGBD puede reforzarlas: imponerlas, obligar a cumplirlas
Para ello...
q Tales decisiones deben indicarse al SGBD, mediante LDD
q Deben ser recordadas por el SGBD: almacenadas en el catlogo en
forma de reglas de seguridad y autorizacin
q Debe existir una forma de comprobar peticiones de acceso
operacin solicitada + datos solicitados + usuario solicitante
segn las reglas de seguridad aplicables
q El SGBD debe ser capaz de reconocer el origen de una peticin
(usuario solicitante) para decidir qu reglas de seguridad son
aplicables a cierta peticin
control de acceso al sistema de bases de datos

Tema 4. Seguridad en Sistemas de Bases de Datos 9

11.2 Control de acceso


El administrador de la base de datos, ABD, es la autoridad
central responsable de la seguridad global del sistema de
bases de datos

Dispone de una cuenta de bases de datos privilegiada o de


sistema, con capacidades extraordinarias, desde la que
puede...
Crear cuentas de usuario para acceso D Control Global
a la base de datos
Conceder y cancelar privilegios a D Control Discrecional
(cuentas de) usuarios
Asignar datos a niveles de seguridad
Asignar cuentas de usuario a niveles D Control Obligatorio
de seguridad o acreditacin

Tema 4. Seguridad en Sistemas de Bases de Datos 10


11.2.1 Control de acceso al sistema global
Evitar que personal no autorizado acceda al Sistema de BD
Puesto en prctica mediante creacin, por parte del ABD, de
cuentas de usuario de BD con contraseas

Implementacin
tabla cifrada con dos atributos: cuenta y contrasea
almacenada en el catlogo del SGBD y mantenida por ste

Autenticacin de usuarios
Para entrar al sistema, el usuario indica al SGBD su cuenta y
contrasea
Una vez que el SGBD valida esos datos, el usuario puede usar el
SGBD y acceder a la informacin almacenada

i un programa de aplicacin puede ser un usuario (puede exigrsele contrasea)

Tema 4. Seguridad en Sistemas de Bases de Datos 11

11.2.1 Control de acceso al sistema global


Control de toda operacin realizada por cada usuario
en cada sesin de trabajo:
Cuando el usuario entra al sistema, el SGBD asocia su cuenta al
puesto (terminal) desde el que se conecta
Toda operacin desde ese puesto se atribuye a la cuenta del
usuario, hasta que ste sale del sistema

Si se realiza una operacin ilegal o no autorizada sobre la BD,


el ABD podr determinar quin lo hizo

Seguimiento de Auditora (apartado 4)

Tema 4. Seguridad en Sistemas de Bases de Datos 12


11.2.3 Control de acceso obligatorio
Para establecer una seguridad multinivel
Existe la necesidad de este tipo de seguridad en aplicaciones
gubernamentales, militares, de espionaje, de algunas
grandes industrias y corporaciones...
Se suele combinar con el control de acceso discrecional
Aunque la mayora de SGBD slo ofrecen el discrecional

Clasificacin de los datos y usuarios en niveles de


seguridad
Cada objeto de datos es etiquetado con un nivel de seguridad
Cada usuario se asigna a un nivel de acreditacin
Cada objeto de datos puede ser accedido slo por usuarios con
la acreditacin apropiada

Tema 4. Seguridad en Sistemas de Bases de Datos 13

11.2.3 Control de acceso obligatorio


Niveles de seguridad
TS (top secret) secreto mximo o alto secreto
S (secret) secreto
C (confidential) confidencial
U (unclassified) no clasificado

Modelo de seguridad multinivel


Asigna a cada sujeto (usuario o cuenta, o programa)
y a cada objeto (tabla, tupla, columna, vista)
un nivel de seguridad (TS, S, C, U)

Restricciones de acceso:
un sujeto S puede leer el objeto O si nivel(S) nivel(O)
un sujeto S puede escribir el objeto O si nivel(S) nivel(O)

Tema 4. Seguridad en Sistemas de Bases de Datos 14


11.2.2 Control de acceso discrecional
Soportado por la mayora de los SGBD comerciales (Oracle)
Basado en privilegios
Un privilegio es un derecho de acceso o autorizacin para
realizar determinada operacin sobre ciertos datos
Un usuario puede tener diversos privilegios sobre
distintos objetos de base de datos
Diferentes usuarios pueden tener privilegios distintos
sobre un mismo objeto

Clases de privilegios
Privilegios en el nivel de cuenta y
Privilegios en el nivel de objeto de base de datos

Tema 4. Seguridad en Sistemas de Bases de Datos 15

11.2.2 Control de acceso discrecional


Privilegios en el nivel de cuenta
Privilegios particulares de cada usuario (cuenta),
independientemente de los objetos de BD existentes
Tipos de privilegios
CREATE SCHEMA, DROP SCHEMA,
CREATE TABLE, ALTER TABLE, DROP TABLE,
CREATE VIEW, DROP VIEW,
CREATE DOMAIN, ALTER DOMAIN, DROP DOMAIN,
CREATE ASSERTION, DROP ASSERTION,
SELECT, INSERT, UPDATE, DELETE (sobre cualquier relacin)
No estn definidos en el estndar SQL-92, sino que son
especficos de cada SGBD comercial particular
Privilegios en el nivel de objeto de BD
Permiten especificar qu usuarios tienen qu privilegios
sobre qu objetos concretos
Estn definidos en el estndar SQL-92
Tema 4. Seguridad en Sistemas de Bases de Datos 16
11.3 Seguridad en SQL-92
Propietario de un objeto de base de datos
- El usuario que lo ha creado (= cuenta de BD en la que fue creado)
- Posee todos los privilegios (posibles) sobre el objeto,
- y capacidad de conceder tales privilegios a otros usuarios (GRANT)
- e incluso propagar dicha capacidad de concesin (GRANT OPTION)

Concesin de privilegios
GRANT <privilegios> ON <objetos>
TO <sujetos> [ WITH GRANT OPTION ]
Especifica qu operaciones pueden realizar sobre qu objetos
ciertos usuarios
GRANT SELECT ON Fotgrafo TO julia;
GRANT UPDATE(cuota) ON Editorial TO ruben;
GRANT INSERT ON Reportaje TO cristina WITH GRANT OPTION;

Tema 4. Seguridad en Sistemas de Bases de Datos 17

11.3 Seguridad en SQL-92


Tipos de privilegios
SELECT todo atributo de cierta relacin, incluso si ha sido
aadido despus de haber sido creada
UPDATE sobre una relacin concreta, quiz de slo algunos
atributos
INSERT sobre una relacin concreta, quiz con valores para
slo algunos atributos
DELETE tuplas de cierta relacin
REFERENCES permite hacer referencia a (atributos concretos de)
cierta relacin mediante Restricciones de Integridad
de cualquier tipo, no slo RI Referencial
USAGE uso de ciertos dominios
ALL PRIVILEGES todos los que tiene sobre el objeto quien concede

Tema 4. Seguridad en Sistemas de Bases de Datos 18


11.3 Seguridad en SQL-92
Modelo de Matriz de Acceso
Objeto1 Objeto2 Objeto3 ...
Usuario1 NONE SELECT ALL M(u,o) = conjunto de
Usuario2 SELECT UPDATE SELECT privilegios del usuario u
DELETE sobre el objeto o
UPDATE
La fila u es el perfil del
Usuario3 NONE NONE SELECT
usuario u
Usuario4 ALL ALL ALL

Cancelacin de privilegios (revocacin)


REVOKE [GRANT OPTION FOR] <privilegios> ON <objetos>
FROM <sujetos> { RESTRICT | CASCADE }

REVOKE SELECT ON Fotografo FROM julia;


REVOKE UPDATE ON Editorial FROM ruben;
REVOKE INSERT ON Reportaje FROM cristina;

Tema 4. Seguridad en Sistemas de Bases de Datos 19

11.3 Seguridad en SQL-92


Uso de vistas como mecanismo de seguridad
El usuario u1 es propietario de la relacin R(a1,a2,a3,a4,a5)
Si u1 desea que otro usuario u2 pueda leer slo algunos
atributos a1,a2,a3 de R
CREATE VIEW V AS SELECT a1, a2, a3 FROM R;
GRANT SELECT ON V TO u2;

Si u1 desea que u2 lea slo algunas tuplas de R, las que


satisfacen cierta condicin Q
CREATE VIEW W AS SELECT * FROM R WHERE Q;
GRANT SELECT ON W TO u2;

N Para poder crear una vista, el usuario debe poseer el


privilegio SELECT sobre cada tabla base de la vista

Tema 4. Seguridad en Sistemas de Bases de Datos 20


11.3 Seguridad en SQL-92
Propagacin de privilegios
- Cuando u1, propietario de una relacin R, concede privilegios
sobre R a otro usuario u2, tambin puede darle la opcin de
otorgar dichos privilegios a terceros
GRANT SELECT ON R TO u2 WITH GRANT OPTION;

- A partir de ese momento, u2 podr conceder esos


privilegios sobre R a otras cuentas de usuario
propagacin de privilegios
- El SGBD mantiene la pista de la concesin y propagacin de
privilegios entre los usuarios

Tema 4. Seguridad en Sistemas de Bases de Datos 21

11.3 Seguridad en SQL-92


Propagacin de privilegios (2)

- Revocar la GRANT OPTION de cierto privilegio a u2 no le


cancela dicho privilegio, pero evita que u2 lo propague
REVOKE GRANT OPTION FOR SELECT ON R FROM u2;

- Pero si u1 s revoca el privilegio concedido a u2, qu ocurre


con los que u2 propag a partir de la concesin?
Privilegios abandonados (no aplicables)
- Y si el propietario de una vista V pierde el privilegio SELECT
sobre alguna de las tablas base de V
Vista abandonada (no vlida, no puede utilizarse)

Tema 4. Seguridad en Sistemas de Bases de Datos 22


11.3 Seguridad en SQL-92
Propagacin de privilegios (3)
Cuando un usuario revoca privilegios, indica una de estas
opciones...
CASCADE
el SGBD revocar automticamente todos los
privilegios que quedaran abandonados y
eliminar las vistas que quedaran abandonadas
RESTRICT
el SGBD no revocar un privilegio si ello dejara
privilegios o vistas abandonados

REVOKE SELECT ON Fotografo FROM julia CASCADE;


REVOKE INSERT ON Reportaje FROM cristina RESTRICT;

Tema 4. Seguridad en Sistemas de Bases de Datos 23

11.3 Seguridad en SQL-92


Propagacin de privilegios (y 4)
La revocacin completa y correcta de privilegios slo se
conseguir si el SGBD sigue la pista de la concesin y
propagacin de privilegios

Un usuario puede recibir un mismo privilegio desde varios


usuarios. Slo lo perder si se lo revocan todos ellos

Eliminar un objeto (dominio, tabla, columna o vista), revoca


automticamente todo privilegio sobre el objeto eliminado,
en todos los usuarios

Tema 4. Seguridad en Sistemas de Bases de Datos 24


11.4 Otros aspectos de seguridad
Seguimiento de auditora
Necesario si los datos son muy delicados, o el
procesamiento realizado con ellos es crtico
Consiste en mantener un fichero especial donde el
sistema registra de forma automtica, toda interaccin
de los usuarios con la informacin almacenada en la base
de datos
El seguimiento de auditora permite ...
Verificar que todo est en orden
Descubrir si alguien ha accedido de forma ilegal, o ha realizado
operaciones sin autorizacin

Tema 4. Seguridad en Sistemas de Bases de Datos 25

11.4 Otros aspectos de seguridad


Seguimiento de auditora (y 2)
Cada entrada en el fichero de auditora podra contener...
operacin realizada (por ejemplo UPDATE)
puesto o terminal desde la que se invoc la operacin
usuario que solicit la operacin
fecha y hora de la operacin
objetos afectados: base de datos, tablas (ficheros), tuplas (registros)
y atributos (campos)
valor anterior de los datos
nuevo valor de los datos
En muchos casos, el hecho de mantener un seguimiento de
auditora basta para desanimar a posibles espas

Tema 4. Seguridad en Sistemas de Bases de Datos 26


11.4 Otros aspectos de seguridad
Cifrado de los datos
Para proteger datos confidenciales...
- transmitidos por satlite o cualquier tipo de red de comunicaciones
- almacenados en la BD ( proteccin de reas de la BD)
Esquema de cifrado... Texto Original Clave de
Clave de cifrado secreta plaintext Cifrado

Algoritmo de cifrado pblico o secreto


El texto cifrado se transmite o almacena
Algoritmo de
y es ininteligible para quien no dispone de la clave Cifrado
Problema...
Para un i n f i l t r a d o o i n t r u s o , cul es
la dificultad para encontrar la clave, Texto Cifrado

comparando plaintexts y los textos


cifrados correspondientes?

Tema 4. Seguridad en Sistemas de Bases de Datos 27

11.4 Otros aspectos de seguridad


Cifrado de los datos (y 2)
Debe tomarse la precaucin de cambiar la clave secreta de
forma peridica
Punto dbil: dnde almacenar la clave? y si las lneas de
comunicacin para intercambiar la clave no son seguras?

Encriptacin de clave pblica


El algoritmo de cifrado pblico o secreto
Clave de cifrado pblica
Clave de descifrado secreta
Ninguna puede deducirse de la otra
Incluso el que encripta puede ser incapaz de recuperar el plaintext si
desconoce la clave de descifrado

El cifrado de los datos reduce el rendimiento del sistema


El SGBD debe decodificar/codificar los datos manejados

Tema 4. Seguridad en Sistemas de Bases de Datos 28

S-ar putea să vă placă și