Académique Documents
Professionnel Documents
Culture Documents
INTRODUCCIN A LA SEGURIDAD
La informacin almacenada en la base de datos debe estar protegida contra accesos no autorizados, la destruccin o alteracin de datos con fines indebidos y contra la introduccin accidental de inconsistencia.
A veces los trminos de seguridad e integridad en bases de datos no estn totalmente separados, pudiendo uno incluir a ambos. Nosotros intentaremos separar estos dos trminos en la medida que nos sea posible:
2002/2003
El mal uso que se haga de la base de datos puede ser accidental o intencionado (con fines indebidos).
La prdida accidental de la consistencia puede deberse a:
cadas durante el procesamiento de las transacciones. anomalas por acceso concurrente a la base de datos. anomalas que resultan de la distribucin de los datos entre varios computadores. un error lgico que viola la suposicin de que las transacciones respetan las protecciones de consistencia de la base de datos.
Es ms fcil prevenir la prdida accidental de la consistencia de los datos que prevenir el acceso mal intencionado a la base de datos.
2002/2003
lectura de datos sin autorizacin (robo de informacin). modificacin de datos sin autorizacin. destruccin no autorizada de los datos.
No es posible proteger de manera absoluta a la base de datos contra un manejo indebido, pero puede hacerse que el coste para el autor sea tan alto que frene prcticamente todos los intentos de acceder a la base de datos sin la autorizacin debida.
Ampliacin de Bases de Datos 4
2002/2003
Para proteger la base de datos es necesario adoptar medidas de seguridad en varios niveles:
fsico: el lugar donde se encuentran los sistemas debe estar protegido. humano: se debe tener cuidado al conceder autorizaciones. sistema operativo: seguridad contra ataques exteriores. sistemas de bases de datos: garantizar que no se violen las restricciones de autorizacin.
La seguridad debe mantenerse en todos los niveles ya que un punto dbil en un nivel bajo de seguridad (fsico o humano) permitira burlar las medidas estrictas de seguridad adoptadas a alto nivel (bases de datos). Nosotros nos centraremos en diferentes tcnicas de seguridad al nivel de las bases de datos ya que el resto de niveles quedan fuera del propsito de esta asignatura.
Ampliacin de Bases de Datos 5
2002/2003
AUTORIZACIONES Y VISTAS
Las vistas sirven para filtrar la informacin obtenida de la base de datos de acuerdo con las necesidades de un usuario. Con respecto a la seguridad, una vista puede ocultar datos que el usuario no tiene necesidad de ver.
De esta forma, las vistas sirven tanto para simplificar la utilizacin del sistema como para fomentar la seguridad.
2002/2003
AUTORIZACIONES Y VISTAS
Un ejemplo podra ser que un empleado slo necesite conocer los nombres de los proveedores de su empresa, un telfono de contacto y sus direcciones. El administrador de la base de datos le podra facilitar el acceso a esa informacin creando una vista en la base de datos:
create view nombres-proveedores as (select nombre, telefono, direccion from proveedores)
Ahora slo necesitaramos un mecanismo que limite a los usuarios a su vista o vistas personales.
Ampliacin de Bases de Datos 7
2002/2003
AUTORIZACIONES Y VISTAS
Lo normal es que los sistemas de bases de datos cuenten con dos niveles de seguridad:
relacin: permitir o no acceso a directo a una relacin. vista: permitir o no el acceso a la informacin que aparece en la vista.
lectura: permite leer pero no modificar. insercin: slo insertar, no modificar. actualizacin: permite modificar pero no eliminar. borrado: permite eliminar datos.
2002/2003
AUTORIZACIONES Y VISTAS
ndice: permite creacin y eliminacin de ndices. recursos: autoriza crear relaciones nuevas. alteracin: para agregar o eliminar atributos a una relacin. eliminacin: permite eliminar relaciones.
El lenguaje de definicin de datos SQL incluye mandatos para conceder y revocar privilegios.
El conjunto exacto de privilegios depende de la versin de SQL con la que trabajemos, algunos de ellos seran:
modificar borrar ndice insertar leer actualizar referenciar (restringe la creacin de relaciones)
Ampliacin de Bases de Datos
2002/2003
AUTORIZACIONES Y VISTAS
La opcin "with grant option" sirve para que los usuarios que reciben los privilegios puedan, a su vez, pasarle los privilegios a otros usuarios. Ejemplos:
Lectura sobre proveedores: grant select on proveedores to usuario1, usuario2 Actualizacin de los telfonos de los proveedores: grant update (telefono) on proveedores to usuario3 Insercin de nuevos proveedores con posibilidad de autorizar a otros usuarios: grant insert on proveedores to usuario4 with grant option
Ampliacin de Bases de Datos 10
2002/2003
AUTORIZACIONES Y VISTAS
La anulacin de un privilegio a un usuario puede causar que otros usuarios pierdan ese privilegio. Esto es debido a causa de las concesiones que el primero ha podido realizar sobre el resto al recibir la opcin "with grant option" sobre ese privilegio.
Ejemplos para revocar los privilegios que concedimos anteriormente:
revoke select on proveedores from usuario1, usuario2 revoke update (telefono) on proveedores from usuario3 revoke insert on proveedores from usuario4
2002/2003
11
SISTEMAS MULTINIVEL
2002/2003
12
SISTEMAS MULTINIVEL
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.
La diferencia con respecto a la seguridad con vistas radica en que los datos tienen un nivel de seguridad por s mismos, con independencia de los que se atribuyan a los usuarios.
Ampliacin de Bases de Datos 13
2002/2003
A veces, las empresas conceden acceso a la base de datos a personas ajenas bajo la condicin de que slo pueden llevar a cabo estudios estadsticos (promedios, medianos, modas, etc.) con los datos sin divulgar informacin referente a individuos.
En estos casos se deber garantizar la privacidad de los individuos al mismo tiempo que se permite el uso de los datos para clculos estadsticos. Por ejemplo, con un par de consultas se podra conocer dinero que tiene un cliente en un banco si este fuese el nico con una cierta caracterstica, el nico que vive en cierta localidad. La solucin sera programar el sistema para que se rechace cualquier consulta que no comprenda al menos un cierto nmero de individuos.
Ampliacin de Bases de Datos 14
2002/2003
An as, un usuario malintencionado que tambin tuviese cuenta en el banco podra todava averiguar el saldo de un individuo con un par de consultas:
x, el saldo de su propia cuenta y las de los n clientes mnimos para realizar la consulta. y, el saldo de la cuenta de Z y las de los n clientes.
El ejemplo anterior se aprovech de un punto dbil importante, que radica en que las dos consultas se refirieron prcticamente a los mismos datos. El nmero de datos en comn que tienen las dos consultas se denomina interseccin.
2002/2003
15
Para resolver esto, adems de exigir que una consulta haga referencia a por lo menos n individuos, podra requerirse que toda pareja de consultas tenga una interseccin de al menos m individuos.
Sin embargo, se puede demostrar que si un usuario malintencionado conoce el valor del dato para l mismo le llevar un nmero de '1 + (n - 2) / m' consultas obtener la informacin acerca de un individuo.
2002/2003
16
Dicha falsificacin debe hacerse de tal manera que no destruya el significado estadstico de la respuesta.
Otra tcnica similar se basa en la modificacin aleatoria de la consulta misma. En estas dos tcnicas debe lograrse un equilibrio entre la exactitud y la seguridad.
2002/2003
17
CIFRADO DE DATOS
Es posible que todas las precauciones que tomemos para evitar el acceso sin autorizacin no sean suficientes para proteger los datos muy importantes. En estos casos, la informacin puede cifrarse.
No es posible leer datos cifrados a menos que el lector sepa cmo descifrar la informacin. Existen un gran nmero de tcnicas a elegir para cifrar la informacin (cifrado estndar de datos, cifrado de clave pblica, ...).
Ampliacin de Bases de Datos 18
2002/2003
BIBLIOGRAFA
2002/2003