Está en la página 1de 15

BASES DE DATOS I

Seguridad
Seguridad en las bases de datos proteccin contra: Revelacin no autorizada (confidencialidad) Alteracin no autorizada (integridad) Destruccin intencional o involuntaria Proteccin 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 ms valioso de una organizacin necesidad de controlarlo y administrarlo cuidadosamente. Parte o la totalidad de los datos corporativos importancia estratgica necesidad de manejarlos en forma segura y confidencial. Consideraciones sobre seguridad no se aplican slo a los datos brechas en la seguridad pueden afectar otras partes del sistema, que a su vez pueden afectar la BD.

BASES DE DATOS I

Seguridad en Bases de Datos


Cun valiosos son los datos? Cules datos deben asegurarse? Cunto costarn los accesos ilegales a los datos? Cules son las implicaciones de los cambios o destrucciones de datos? Que medidas de seguridad afectan el funcionamiento de la base de datos? Cmo pueden ocurrir los accesos no autorizados?

BASES DE DATOS I

Sistema de Seguridad del DBMS


Objetivos

Integridad: Slo los usuarios autorizados deberan tener acceso para modificar datos. Disponibilidad: Los datos deben estar disponibles para usuarios y programas de actualizacin autorizados. Confidencialidad: Proteccin de los datos de su revelacin no autorizada.

BASES DE DATOS I

Aspectos Relativos a Seguridad


Legales Sociales y ticos Controles Fsicos Cuestiones Estratgicas 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 informacin, por ejemplo registros mdicos, de antecedentes penales, etc. Requisitos Legales se requiere que las organizaciones usen con discrecin los datos personales de los individuos. Esta informacin debera poder ser verificada por los individuos mismos.

BASES DE DATOS I

Aspectos Relativos a Seguridad


Seguridad Comercial Informacin perteneciente a una empresa es un recurso valioso que podra ser til para la competencia. Fraude/Sabotaje La informacin podra ser mal utilizada, por ej. por un novato o por alguien que tiene la intencin 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 relacin. Una relacin en particular. Un conjunto de relaciones. La base de datos completa

BASES DE DATOS I

Mecanismos de Seguridad de la BD

Control de accesos Control de flujo Control de inferencia Encriptado

BASES DE DATOS I

Mtodos para el Control de Accesos


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

BASES DE DATOS I

Seguridad a cargo del DBMS


Encriptado de Datos los datos son ilegibles a menos que se tenga conocimiento del cdigo. 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 (autorizacin / privilegios) sobre Tabla Vista controla particiones horizontales (selecciones) y verticales (proyecciones) de una tabla y datos generados dinmicamente desde otras tablas.

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 aadan 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 anlogo a INSERT para modificar datos existentes REFERENCES (columna) - para definir : foreign keys (en otras tablas) que referencien a esta columna. Slo 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;)

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 (categora) ON Atletas TO Organizador Organizador puede actualizar solamente la categora 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, tambin 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, tambin pierde el privilegio sobre la vista; lo mismo ocurre con los dems usuarios que obtuvieron el privilegio sobre la vista!

BASES DE DATOS I

REVOKE
Jos: GRANT SELECT ON Atletas TO Martin WITH GRANT OPTION Martn: 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 tambin 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 Martn: GRANT SELECT ON Atletas TO Juan WITH GRANT OPTION Jos: REVOKE SELECT ON Atletas FROM Martin CASCADE Juan retiene sus privilegios.

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 podra haber revocado GRANT OPTION: REVOKE GRANT OPTION ON Atletas FROM Martin CASCADE

BASES DE DATOS I

Autorizacin 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 <nombre rol> [ WITH ADMIN <quien> ]
GRANT <rol concedido> [ { <coma> <rol concedido> }... ] TO <a-quien> [ { <coma> <a-quien> }... ] [ WITH ADMIN OPTION ] [ GRANTED BY <quien> ]

Roles pueden ser asignados a usuarios o a otros roles <a-quien>.


Es una disposicin ms 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 organizacin, 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/prohben lecturas/escrituras en la BD, de acuerdo a combinaciones especficas de clases de seguridad y permisos. La mayora de los DBMSs actuales no soportan control mandatorio. Algunas versiones lo hacen para aplicaciones especficas, 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 slo si clase(S) >= clase(O) (Propiedad de Seguridad Simple) El Sujeto S puede escribir el objeto O slo si clase(S) <= clase(O) (Propiedad *)

"no read up, no write down"

BASES DE DATOS I

Control de Acceso Mandatorio


Relaciones Multinivel Id_Objeto 102 101 color Marrn Rojo NombreObj Pintura Mesa Clase C S

Usuarios con permisos S y TS pueden ver ambas filas; si tiene permiso C slo ve la primera y si tiene permiso U no ve ninguna. Si un usuario con permiso C trata de insertar <101, Azul, Silla, C>: Si se permite, viola la restriccin de clave Si no se permite, el usuario entiende que hay otro objeto con clave 101 que tiene clase > 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 rgido porque hay que asignar permisos de una determinada clase a cada objeto y sujeto. En el mundo real, los privilegios de acceso estn asociados con el rol de una persona en la organizacin. Cada rol debe ser creado con determinados privilegios. Cada usuario es asociado a un rol.

BASES DE DATOS I

Seguridad en BD Estadsticas

Contiene informacin acerca de individuos, pero permite slo accesos masivos (por ej. Sueldo promedio, no un sueldo en particular). Problema !! Puede inferirse informacin secreta !! Ejemplo Si se sabe que Juan es el atleta de mayor edad, se puede hacer la consulta: cuntos atletas hay mayores que X aos? 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 nmero N de tuplas. Se prohbe una secuencia de consultas que se refieran repetidamente a la misma poblacin. Puede particionarse la base en grupos con un tamao mayor que un cierto mnimo. 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 diseadas pensando en la seguridad. Sin software especial, todo el trfico de Internet viaja de manera que quien monitorea el trfico puede leerlo.

14

BASES DE DATOS I

DBMSs y Seguridad en la Web


Se debe asegurar que la informacin transmitida: sea inaccesible salvo para el emisor y el receptor (privacidad). No cambie durante la transmisin (integridad); El receptor est seguro de que proviene del emisor (autenticidad); El emisor sepa que receptor es genuino (nofabricacin); El emisor no pueda negar que ha hecho el envo (no-repudio). Debe proteger la informacin alcanzado el servidor de WEB. una vez que ha

15

También podría gustarte