Seguridad en Bases de Datos

BASES DE DATOS I Seguridad Seguridad en las bases de datos Æ Æ protección contra: • Revelación no autorizada (confidencialidad) • Alteración no autor
Author:  Raúl Toro Mendoza

1 downloads 127 Views 61KB Size

Story Transcript

BASES DE DATOS I

Seguridad Seguridad en las bases de datos Æ Æ protección contra: • Revelación no autorizada (confidencialidad) • Alteración no autorizada (integridad) • Destrucción intencional o involuntaria Protección dirigida a dos tipos de usuarios Æ •Los que no tienen derechos de acceso •Los que tienen derechos limitados a ciertas acciones Seguridad ≡ ¿Que datos? + ¿Que operaciones? + ¿Cuales usuarios?

BASES DE DATOS I

Seguridad en Bases de Datos {

{

{

Datos Æ activo más valioso de una organización Æ necesidad de controlarlo y administrarlo cuidadosamente. Parte o la totalidad de los datos corporativos Æ importancia estratégica Æ necesidad de manejarlos en forma segura y confidencial. Consideraciones sobre seguridad Æ no se aplican sólo a los datos Æ brechas en la seguridad pueden afectar otras partes del sistema, que a su vez pueden afectar la BD.

1

BASES DE DATOS I

Seguridad en Bases de Datos • Cuán valiosos son los datos? • Cuáles datos deben asegurarse? • Cuánto costarán los accesos ilegales a los datos? • Cuáles son las implicaciones de los cambios o destrucciones de datos? • Que medidas de seguridad afectan el funcionamiento de la base de datos? • Cómo pueden ocurrir los accesos no autorizados?

BASES DE DATOS I

Sistema de Seguridad del DBMS {

Objetivos z

z

z

Integridad: Sólo los usuarios autorizados deberían tener acceso para modificar datos. Disponibilidad: Los datos deben estar disponibles para usuarios y programas de actualización autorizados. Confidencialidad: Protección de los datos de su revelación no autorizada.

2

BASES DE DATOS I

Aspectos Relativos a Seguridad • Legales • Sociales y Éticos • Controles Físicos • Cuestiones Estratégicas • Problemas Operativos • Controles de Hardware • Sistema de Seguridad del SO • Sistema de Seguridad de la Base de Datos

BASES DE DATOS I

Aspectos Relativos a Seguridad • Morales/Éticos Æ puede haber razones morales que regulen quienes tienen acceso a determinada información, por ejemplo registros médicos, de antecedentes penales, etc. • Requisitos Legales Æ se requiere que las organizaciones usen con discreción los datos personales de los individuos. Esta información debería poder ser verificada por los individuos mismos.

3

BASES DE DATOS I

Aspectos Relativos a Seguridad {

{

{

Seguridad Comercial Æ Información perteneciente a una empresa es un recurso valioso que podría ser útil para la competencia. Fraude/Sabotaje Æ La información podría ser mal utilizada, por ej. por un novato o por alguien que tiene la intención de confundir. Errores Æ cambios accidentales en los datos, no maliciosos.

BASES DE DATOS I

Elementos que pueden ser protegidos Granularidad • Un atributo de una tupla. • Un conjunto de columnas. • Una tupla individual. • Un conjunto de tuplas de una relación. • Una relación en particular. • Un conjunto de relaciones. • La base de datos completa

4

BASES DE DATOS I

Mecanismos de Seguridad de la BD { { { {

Control de accesos Control de flujo Control de inferencia Encriptado

BASES DE DATOS I

Métodos para el Control de Accesos {

{

Control de Acceso Discrecional garantiza privilegios a usuarios, incluyendo la capacidad para acceder archivos de datos específicos, registros o campos para operar de una manera determinada (read, insert, delete, o update). Control de Acceso Mandatorio clasifica usuarios y datos en múltiples niveles de seguridad, y luego fuerza determinadas reglas acordes a cada nivel.

5

BASES DE DATOS I

Seguridad a cargo del DBMS Encriptado de Datos Æ los datos son ilegibles a menos que se tenga conocimiento del código. Seguimiento del ‘rastro’ (Audit Trail) Æ si alguien entra en la BD Æ a que datos accedió y que hizo con ellos

BASES DE DATOS I

Seguridad a Nivel de Usuario en SQL Cada usuario tiene ciertos derechos sobre ciertos objetos. Distintos usuarios Æ los mismos o distintos derechos sobre los mismos objetos. Para controlar la granularidad de los derechos de acceso los usuarios pueden tener derechos (autorización / privilegios) sobre • Tabla • Vista Æ controla particiones horizontales (selecciones) y verticales (proyecciones) de una tabla y datos generados dinámicamente desde otras tablas.

6

BASES DE DATOS I

Control de Acceso Discrecional GRANT SCHEMA NombreEsqBD AUTHORIZATION usuario; GRANT privilegios ON objeto TO usuarios [WITH GRANT OPTION] REVOKE [GRANT OPTION FOR] privilegio ON objeto FROM usuarios {CASCADE | RESTRICT}

Privilegios a asignar: SELECT – para leer todas las columnas (incluyendo las que se añadan con ALTER TABLE) { DELETE – para remover datos { INSERT (columna/s) – para incorporar nuevas tuplas con valores no nulos (o no default) en esa/s columna/s. { INSERT ídem para todas las columnas. { UPDATE – análogo a INSERT para modificar datos existentes { REFERENCES (columna) - para definir : foreign keys (en otras tablas) que referencien a esta columna. { Sólo el propietario puede ejecutar CREATE, ALTER, y DROP. {

BASES DE DATOS I

With Grant Option WITH GRANT OPTION permite que el poseedor de ciertos privilegios pueda transmitirlos a otros usuarios. Usuario Æ puede ser un ‘username’ o PUBLIC PUBLIC Æ los privilegios se asignan a todos (ej. GRANT SELECT ON ListaAlumnos TO PUBLIC;)

7

BASES DE DATOS I

Control de Acceso Discrecional: Ejemplo • GRANT INSERT, SELECT ON Atletas TO Homero Homero puede insertar y seleccionar tuplas de Atletas • GRANT DELETE ON Atletas TO Entrenador WITH GRANT OPTION • Entrenador puede borrar tuplas de Atletas y autorizar borrados a otros usuarios. • GRANT UPDATE (categoría) ON Atletas TO Organizador • Organizador puede actualizar solamente la categoría en las tuplas de Atletas. • GRANT SELECT ON VistaAtletasVeteranos TO Juan, Ivan, Ines • Juan, Ivan e Ines NO pueden consultar directamente la tabla Atletas! •REVOKE: cuando un privilegio le es revocado al usuarioX, también le es revocado a los que lo obtuvieron solamente de usuarioX.

BASES DE DATOS I

Control de Acceso Discrecional GRANT/REVOKE en Vistas El creador de una vista tiene privilegios sobre la vista si los tiene sobre todas las tablas subyacentes. •

• Si el creador de una vista pierde el privilegio SELECT sobre alguna de las tablas subyacentes, la vista es removida! • Si el creador de una vista pierde un privilegio obtenido con With Grant Option, sobre una tabla subyacente, también pierde el privilegio sobre la vista; lo mismo ocurre con los demás usuarios que obtuvieron el privilegio sobre la vista!

8

BASES DE DATOS I

REVOKE José: GRANT SELECT ON Atletas TO Martin WITH GRANT OPTION Martín: GRANT SELECT ON Atletas TO Juan WITH GRANT OPTION José: REVOKE SELECT ON Atletas FROM Martin CASCADE CASCADE vs RESTRICT: • CASCADE: Todos los privilegios ‘colgados’ también son revocados • RESTRICT: El comando REVOKE es rechazado si produce privilegios ‘colgados’.

BASES DE DATOS I

REVOKE José: GRANT SELECT ON Atletas TO Martin WITH GRANT OPTION José: GRANT SELECT ON Atletas TO Juan WITH GRANT OPTION Martín: GRANT SELECT ON Atletas TO Juan WITH GRANT OPTION José: REVOKE SELECT ON Atletas FROM Martin CASCADE Juan retiene sus privilegios.

9

BASES DE DATOS I

REVOKE José: GRANT SELECT ON Atletas TO Martin WITH GRANT OPTION José: GRANT SELECT ON Atletas TO Martin WITH GRANT OPTION José: REVOKE SELECT ON Atletas FROM Martin CASCADE Los privilegios de Martin son revocados. Nota: se podría haber revocado GRANT OPTION: • REVOKE GRANT OPTION ON Atletas FROM Martin CASCADE

BASES DE DATOS I

Autorización Basada en Roles • En SQL-92, los privilegios son asignados realmente a identificadores que pueden representar a un usuario aislado o a un grupo de ellos.

• En SQL:1999 (y en muchos sistemas actuales) los privilegios son asignados a roles. CREATE ROLE [ WITH ADMIN ] GRANT [ { }... ] TO [ { }... ] [ WITH ADMIN OPTION ] [ GRANTED BY ]

• Roles pueden ser asignados a usuarios o a otros roles . • Es una disposición más cercana a la forma en que trabajan las organizaciones.

10

BASES DE DATOS I

Debilidades del Sistema Discrecional Sistema (Sistema, usuario1, SELECT ON EMPLOYEE WITH GRANT OPTION) Privilegio otorgado usuario1

usuario2

Privilegio revocado Usuario3

usuario4

Grafo de Autorizaciones Æ usuario 2 conserva los privilegios

BASES DE DATOS I

Control de Acceso Mandatorio • Basado en estrategias de la organización, no pueden ser

modificados por los usuarios individualmente.

• Cada objeto de la BD tiene asignada una clase de seguridad. • Cada sujeto (usuario o programa) tiene asignado un permiso para una clase de seguridad. • Existen reglas que habilitan/prohíben lecturas/escrituras en la BD, de acuerdo a combinaciones específicas de clases de seguridad y permisos. • La mayoría de los DBMSs actuales no soportan control mandatorio. Algunas versiones lo hacen para aplicaciones específicas, p. ej. Defensa.

11

BASES DE DATOS I

Control de Acceso Mandatorio Modelo Bell-LaPadula: Objetos (tablas, vistas, tuplas) Sujetos (usuarios, programas de usuario) Clases de Seguridad: Top secret (TS), secret (S), confidential (C), unclassified (U) TS > S> C > U Cada objeto y sujeto tiene asignada una clase. El Sujeto S puede leer el objeto O sólo si clase(S) >= clase(O) (Propiedad de Seguridad Simple) El Sujeto S puede escribir el objeto O sólo si clase(S) C! • Problema resuelto si la clase se ve como parte de la clave.

12

BASES DE DATOS I

Control de Acceso basado en Roles {

{

{

{

El acceso mandatorio es rígido porque hay que asignar permisos de una determinada clase a cada objeto y sujeto. En el mundo real, los privilegios de acceso están asociados con el rol de una persona en la organización. Cada rol debe ser creado con determinados privilegios. Cada usuario es asociado a un rol.

BASES DE DATOS I

Seguridad en BD Estadísticas Contiene información acerca de individuos, pero permite sólo accesos ‘masivos’ (por ej. Sueldo promedio, no un sueldo en particular). • Problema !! Puede inferirse información secreta !! • Ejemplo Æ Si se sabe que Juan es el atleta de mayor edad, se puede hacer la consulta: “cuántos atletas hay mayores que X años?” para distintos valores de X hasta que la respuesta sea 1 Æ esto me permite inferir la edad de Juan. • Solucion ? Æ cada consulta debe incluir al menos N filas… pero esto no resuelve otros problemas !! • Ejemplo: pueden obtenerse los promedios de sueldos de dos conjuntos de empleados que difieren en un empleado. De esta manera, por simples operaciones se puede calcular el sueldo del empleado.



13

BASES DE DATOS I

Soluciones para el Control de Inferencia {

No se permiten consultas cuyos resultados incluyan menos de un cierto número N de tuplas.

{

Se prohíbe una secuencia de consultas que se refieran repetidamente a la misma población.

{

Puede particionarse la base en grupos con un tamaño mayor que un cierto mínimo. Las consultas pueden referirse a gualquier grupo completo o conjunto de grupos, pero nunca a subconjuntos de grupos.

BASES DE DATOS I

DBMSs y Seguridad en la Web {

{

Las comunicaciones en Internet se basan en el protocolo TCP/IP. Ni TCP/IP ni HTTP fueron diseñadas pensando en la seguridad. Sin software especial, todo el tráfico de Internet viaja de manera que quien monitorea el tráfico puede leerlo.

14

BASES DE DATOS I

DBMSs y Seguridad en la Web {

{

Se debe asegurar que la información transmitida: z sea inaccesible salvo para el emisor y el receptor (privacidad). z No cambie durante la transmisión (integridad); z El receptor esté seguro de que proviene del emisor (autenticidad); z El emisor sepa que receptor es genuino (nofabricación); z El emisor no pueda negar que ha hecho el envío (no-repudio). Debe proteger la información alcanzado el servidor de WEB.

una

vez

que

ha

15

Get in touch

Social

© Copyright 2013 - 2024 MYDOKUMENT.COM - All rights reserved.