1 / 28

Contenidos 5.1 El problema de la seguridad 5.2 Control de acceso (global, obligatorio, discrecional) 5.3 Seguridad en SQ

5 Seguridad. Contenidos 5.1 El problema de la seguridad 5.2 Control de acceso (global, obligatorio, discrecional) 5.3 Seguridad en SQL-92 5.4 Otros aspectos de seguridad: auditoría y cifrado. 5.1 El problema de la seguridad. Aspectos del problema de la seguridad.

meira
Download Presentation

Contenidos 5.1 El problema de la seguridad 5.2 Control de acceso (global, obligatorio, discrecional) 5.3 Seguridad en SQ

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 5 Seguridad Contenidos 5.1 El problema de la seguridad 5.2 Control de acceso (global, obligatorio, discrecional) 5.3 Seguridad en SQL-92 5.4 Otros aspectos de seguridad: auditoría y cifrado

  2. 5.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 información? (saldos de cuentas de clientes) ¿cómo asegurar que no se revelen datos confidenciales a cambio de sobornos u otros favores? • Política gubernamental, institucional o corporativa ¿qué información no debe estar disponible al público? (historiales médicos...) ¿cómo se decide ‘quién’ puede acceder a ‘qué’? • Controles físicos ¿cómo proteger físicamente contra intrusos las salas en donde están los sistemas informáticos?

  3. 5.1 El problema de la seguridad Aspectos del problema de la seguridad (y 2) • Seguridad del Sistema Operativo ¿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 contraseñas para el acceso al SO ¿cómo 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 día fundamental, tanto en Internet como en las redes privadas de las organizaciones • Aspectos específicos del Sistema de Bases de Datos  ¿dispone el sistema de BD del concepto de propiedad de la información? ¿cómo evitar que los usuarios puedan acceder a ciertas partes de la BD? ¿cómo limitar las operaciones que los usuarios pueden realizar sobre la BD? • Hay que adoptar medidas de seguridad en todos estos niveles, pero nos centraremos en el último de ellos ()

  4. 5.1 El problema de la seguridad • La seguridad es crucial en SBD multiusuario • Muchos usuarios con acceso a una misma (y gran) BD integrada • La información confidencial (salarios, saldos, informes de productividad, etc.) debe estar oculta para la mayoría de usuarios • Elesfuerzo por conservar la seguridad de la BD merece la pena... • Grandes bases de datos de nóminas o datos financieros atractivas para ladrones • Bases de datos de operaciones empresariales interesantes para competidores sin escrúpulos • … pues la pérdida de datos (por accidente o por fraude) supone elevados costes y disminución de la capacidad de la empresa para seguir funcionando

  5. 5.1 El problema de la seguridad • La protección 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 • El SGBD proporciona técnicas para que (grupos de) usuarios tengan acceso a ciertas partes de la base de datos, sin tener acceso al resto • El Subsistema de Seguridad y Autorización del SGBD garantiza la seguridad de (partes de) la BD contra accesos no autorizados • El SGBD tiene definido el objeto de datos: • Unidad de datos que requiere protección individual • Puede ser desde la base de datos completa, o un conjunto de tablas ... hasta una posición (fila, columna) dentro de cierta tabla

  6. 5.1 El problema de la seguridad • Como hemos visto, lasdecisiones sobre seguridad son políticas, no técnicas: están fuera del SGBD • Pero el SGBDpuedereforzarlas: imponerlas, obligar a su cumplimiento • Para ello... • Tales decisiones deben indicarse al SGBD, mediante LDD • Deben ser recordadas por el SGBD: almacenadas en el INFORMATION_SCHEMAdel catálogo del sistema de BD, en forma de reglas de seguridad y autorización • El SGBD debe ser capaz de reconocer el origen de una petición (usuario solicitante) para poder decidir qué reglas de seguridad sonaplicables a cierta petición • Debe existir una forma de comprobar peticiones de acceso operación solicitada + datos solicitados + usuario solicitante según las reglas de seguridad aplicables

  7. 5.1 El problema de la seguridad • Diferencias Seguridad - Integridad: • Seguridad: protección de datos contra revelación, alteración o destrucción no autorizados Asegurar que los usuarios están 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 pérdida accidental de la consistencia • Similitudes Seguridad - Integridad: • El sistema debe conocer las restricciones, tanto de seguridad como de integridad, que los usuarios no deben violar • El SGBD debe supervisar la interacción de cada usuario con la BD, para controlar el cumplimiento de las restricciones • Restricciones especificadas en un lenguaje apropiado (LDD) • Y son almacenadas y mantenidasen el INFORMATION_SCHEMA del catálogo

  8. 5.2 Control de acceso • Se debe evitar el acceso al propio sistema de BD por parte de usuarios no autorizados • Control de acceso global • Además se debe permitir que los usuarios, una vez conectados a la BD, puedan acceder a ciertas porciones sin tener acceso al resto • Control de acceso obligatorio • Control de acceso discrecional • Un SGBD moderno suele implementar uno de estos mecanismos de seguridad, o los dos • Mediante estos mecanismos se puede especificar... • qué usuarios tienen acceso a qué datos, e incluso • qué operaciones pueden realizar sobre dichos datos

  9. 5.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 y eliminar cuentas de usuariopara acceso a la base de datos • Conceder y cancelar privilegios a (cuentas de) usuarios • Asignar datos a niveles de seguridad • Asignar cuentas de usuario a niveles de seguridad o acreditación Control Global Control Discrecional Control Obligatorio

  10. 5.2.1 Control de acceso global • Evitar que personal no autorizado acceda al sistema de BD • Puesto en práctica mediante creación, por parte del ABD, de cuentas de usuario de BD con contraseñas • Implementación • Tabla cifrada con dos columnas: cuenta y contraseña • Almacenada en elINFORMATION_SCHEMAdel catálogo y mantenida por el SGBD • Autenticación de usuarios • Para entrar al sistema, el usuario indica al SGBD su cuenta y contraseña • Una vez que el SGBD valida esos datos, el usuario puede acceder a la información almacenada en la BD  un programa de aplicación puede ‘ser un usuario’ (puede exigírsele contraseña)

  11. 5.2.1 Control de acceso global • Supervisión de toda operación realizada por cada usuario en cada sesión de trabajo: • Cuando el usuario entra al sistema, el SGBD asocia su cuenta al puesto (equipo o terminal) desde el que se conecta • Toda operación desde ese puesto se atribuye a la cuenta del usuario, hasta que éste sale del sistema • Si se realiza una operación ilegal o no autorizada sobre la BD,el ABD podrá determinar quién lo hizo  Seguimiento de Auditoría(apartado 4)

  12. 5.2.2 Control de acceso obligatorio • Para establecer una seguridad multinivel • Existe la necesidad de este tipo de seguridad en aplicacionesgubernamentales, militares, de espionaje, de algunas grandes industrias y corporaciones... • Se suele combinar con el control de acceso discrecional • Aunque la mayoría de SGBD sólo ofrecen el discrecional • Clasificación de los datosyusuariosennivelesde seguridad • Cada objeto de datos es etiquetado con un nivel de seguridad • Cada usuario se asigna a un nivel de acreditación • Cada objeto de datos puede ser accedido sólo porusuarios con la acreditaciónapropiada

  13. 5.2.2 Control de acceso obligatorio • Niveles de seguridad • TS (top secret)secreto máximo 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, fila, 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)

  14. 5.2.3 Control de acceso discrecional • Soportado por la mayoría de los SGBD comerciales (Oracle) • Basado en privilegios • Un privilegio es un derecho de acceso o autorización para realizar determinada operación sobre ciertos objetos de BD • Un usuario puede tener diversosprivilegios sobre distintosobjetos • Privilegio SELECT sobre las tablas PELICULA, DIRECTOR y ACTOR • Diferentes usuarios pueden tener privilegiosdistintossobre un mismoobjeto • U1 con privilegios SELECT, INSERT y DELETE sobre PELICULA, mientras que U2 tiene sólo el privilegio SELECT • Clases de privilegios • Privilegios de nivel de cuenta y • Privilegios de nivel de objeto de base de datos

  15. 5.2.3 Control de acceso discrecional Privilegios de nivel de cuenta • Privilegios particulares decada usuario (cuenta), independientementede 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 tabla) • No están definidos en el estándar SQL-92, sino que son específicos de cada SGBD comercial particular Privilegios de nivel de objeto de BD • Permiten especificar qué usuarios tienen qué privilegios sobre qué objetos concretos • Estándefinidos en el estándar SQL-92

  16. 5.3 Seguridad en SQL-92 • Propietariode 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 concesión (GRANT OPTION) • Concesión de privilegios (de nivel de objeto) GRANT <privilegios> ON <objetos>TO <sujetos>[ WITH GRANT OPTION ] • Especifica qué operaciones pueden realizar sobre qué objetosciertos usuarios GRANT SELECT ON Fotografo TO julia; GRANT UPDATE(cuota) ON Editorial TO julia, ruben; GRANT INSERT ON Reportaje TO cristina WITH GRANT OPTION; GRANT DELETE ON Exclusiva TO eva;

  17. 5.3 Seguridad en SQL-92 Tipos de privilegios (de nivel de objeto) • SELECTver toda columna de cierta tabla, incluso si ha sido añadida después de haber sido creada. NO ES POSIBLE INDICAR SÓLO ALGUNAS COLUMNA. • UPDATEsobre una tabla concreta, quizá de sólo algunas columnas • INSERTsobre una tabla concreta, quizá con valores para sólo algunas columnas • DELETEfilas de cierta tabla • REFERENCESpermite hacer referencia a (columnas concretas de) cierta tabla mediante Restricciones de Integridad de cualquier tipo, no sólo RI Referencial • USAGEuso de ciertos dominios • ALL PRIVILEGEStodos los que tiene sobre el objeto el usuario que concede (que ejecutaGRANT)

  18. 5.3 Seguridad en SQL-92 • Modelo de Matriz de Acceso • M(usuario_i,objeto_j)=conjunto de privilegios del usuario_i sobre objeto_j • La fila usuario_i es el perfil del usuario usuario_i

  19. 5.3 Seguridad en SQL-92 • Cancelación de privilegios (nivel de objeto) REVOKE [GRANT OPTION FOR] <privilegios> ON <objetos> FROM <sujetos> { RESTRICT | CASCADE } • También ‘revocación’ o ‘denegación’ de privilegios • La opción RESTRICT | CASCADE la veremos más adelante REVOKE SELECT ON Fotografo FROM julia; REVOKE UPDATE ON Editorial FROM julia, ruben; REVOKE INSERT ON Reportaje FROM cristina; REVOKE DELETE ON Exclusiva FROM eva; REVOKE ALL PRIVILEGES ON <objetos> FROM <sujetos> • Cancela todos los privilegios que el usuario que ejecuta la sentencia concedió a los sujetos indicados en el FROM

  20. 5.3 Seguridad en SQL-92 Uso de vistas como mecanismo de seguridad El usuariou1es propietario de la tablaR(a1,a2,a3,a4,a5) • Si u1 desea que otro usuario u2 pueda leer sólo algunas columnasa1,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 sólo algunas filas de R, las que satisfacen cierta condición Q CREATEVIEW W AS SELECT * FROM R WHERE Q; GRANT SELECT ON W TO u2; • Para poder crear una vista, el usuario debe poseer elprivilegio SELECT sobre cada tabla base de la vista, además del privilegio de cuenta CREATE VIEW

  21. 5.3 Seguridad en SQL-92 Propagación de privilegios • Cuando u1, propietario de una tabla R, concede privilegios sobre R a otro usuario u2, también puede darle la opción de otorgar dichos privilegios a terceros GRANT SELECT, INSERT ON R TO u2 WITH GRANT OPTION; • A partir de ese momento, u2 podrá conceder esos privilegios sobre R a otras cuentas de usuariopropagación de privilegios • El SGBD mantiene la pista de la concesión y propagación de privilegios entre los usuarios

  22. 5.3 Seguridad en SQL-92 Propagación 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 FORINSERT ON R FROM u2; • Pero si u1 sí revoca el privilegio concedido a u2, ¿qué ocurre con los que u2 ya propagó a partir de la concesión? 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 válida, no puede utilizarse)

  23. 5.3 Seguridad en SQL-92 Propagación de privilegios (3) • Cuando un usuario revoca privilegios, indica una de estas opciones... • CASCADE • el SGBDrevocará automáticamente todos los privilegios que quedarían abandonados y • eliminará las vistas que quedarían abandonadas • RESTRICT • el SGBDnorevocará un privilegiosi ello dejaraprivilegioso vistas abandonados • es la opción por omisión REVOKE SELECT ON Fotografo FROM julia CASCADE; REVOKE INSERT ON Reportaje FROM cristina RESTRICT;

  24. 5.3 Seguridad en SQL-92 Propagación de privilegios (y 4) • La revocación completa y correcta de privilegios sólo se conseguirá si el SGBD sigue la pista de la concesión y propagación de privilegios • Un usuario puede recibir un mismo privilegio desde varios usuarios. Sólo lo perderá si se lo revocan todos ellos • Eliminar un objeto (dominio, tabla, columna o vista), revoca automáticamente todo privilegiosobre el objeto eliminado, en todos los usuarios

  25. 5.4 Otros aspectos de seguridad Seguimiento de auditoría • Necesario si los datos son muy delicados, o el procesamiento realizado con ellos es crítico • Consiste en mantener un fichero especial donde el sistema registra de forma automática, toda interacción de los usuarios con la información almacenada en la base de datos • El seguimiento de auditoría permite ... • Verificar que todo está en orden • Descubrir si alguien ha accedido de forma ilegal, o ha realizado operaciones sin autorización

  26. 5.4 Otros aspectos de seguridad Seguimiento de auditoría (y 2) • Cada entrada en el fichero de auditoría podría contener... • puesto o terminal desde la que se invocó la operación • usuario que solicitó la operación • operación realizada (por ejemplo UPDATE) • objetos afectados: base de datos, tablas (ficheros), filas (registros) y columnas (campos) • fecha y hora de la operación • En muchos casos, el hecho de mantener un seguimiento de auditoría basta para desanimar a posibles «espías»

  27. Texto Original Clavede texto plano Cifrado Algoritmo de Cifrado Texto Cifrado 5.4 Otros aspectos de seguridad Cifrado de los datos • Para proteger datosconfidenciales... • transmitidos por satélite o cualquier tipo de red de comunicaciones • almacenados en la BD ( protección de áreas de la BD) • Esquema de cifrado... • Clave de cifrado secreta • Algoritmo de cifrado público o secreto • El texto cifrado se transmite o almacena y es ininteligible para quien no dispone de la clave • Problema... Para un infiltrado o intruso, ¿cuál es la dificultad para encontrar la clave, comparando textos planosy los textos cifrados correspondientes?

  28. 5.4 Otros aspectos de seguridad Cifrado de los datos (y 2) • Debe tomarse la precaución de cambiar la clave secreta deforma periódica • Punto débil: ¿dónde almacenar la clave? ¿y si las líneas de comunicación para intercambiar la clave no son seguras? • Cifrado de clave pública • El algoritmo de cifrado público o secreto • Clave de cifrado (del destinatario) pública • Clave de descifrado(del destinatario) secreta • Ninguna puede deducirse de la otra • Incluso el que cifra puede ser incapaz de recuperar el texto plano si desconoce la clave de descifrado • El cifrado de los datos reduce el rendimiento del sistema • El SGBD debe decodificar/codificar los datos manejados

More Related