Seguridad en Bases de Datos



Documentos relacionados
Administración de un SGBD relacional

Asignatura: Administración de Bases de Datos

6.1. Introducción. Guía 5. SQL.

Seguridad en Sistemas de Bases de Datos

Administración de Bases de Datos

Bibliografía. Fundamentos de Sistemas de Bases de Datos (3. edición) Elmasri, Navathe Addisson Wesley 2002

Seguridad. Bibliografía: Introducción a los sistemas de bases de datos -C.J. Date

Bases de Datos 2. Teórico

Administración de usuarios en Oracle - Administración de Oracle - Orasite.com

Tipos de datos en SQL. SQL. DDL (Data Definition Language) CREATE DOMAIN CREATE TABLE CREATE TABLE. CREATE TABLE con restricciones de atributo

Seguridad de la Información Permisos. Sistemas de Bases de Datos II - ITS EMT - CETP

11. Seguridad en sistemas de bases de datos

Seguridad en Sistemas de Bases de Datos

Administración de Oracle 9i. Existen alrededor de 126 privilegios del sistema, a continuación vemos los más destacados

CONTROL DE ACCESO. curso 2008

El lenguaje SQL III: Creación de bases de datos y seguridad. Introducción

Bases de Datos Relacionales y SQL: Una Introducción

Manejo de Tablas y Llaves Foráneas

Pre-Taller Gestión de Privilegios de Usuarios 2. Manipulación de Vistas 3. Creación y manipulación de Triggers (Introducción al uso de PL/pgsql)

Anexo 3 COMPONENTES DE SQL SERVER. Los DDL (Data Definition Languaje) que permiten crear y definir nuevas

EXAMEN DE BASES DE DATOS 11/06/04 Esquema de trabajo

Seguridad en SQL Server 2005

Catedra de Base de Datos

Bases de Datos I. Vistas

Diseño de bases de datos

Gestión de Usuarios en MySQL

Práctica 3: El lenguaje SQL (2ª parte). (6ª sesión).

EXAMEN DE BASES DE DATOS 10/06/05 CUESTIONARIO

Gestión de Usuarios en MySQL

POLITICA DE SEGURIDAD DE LA INFORMACION INDEA INGENIERIA DE APLICACIONES S.L

Universidad Veracruzana Facultad de Estadística e Informática

Por qué nos preocupa la seguridad?

Vistas en InformiX Sistemas de Bases de Datos II EMT CETP A/S Leonardo Carámbula

Tablas -SQL Curso Bases de Datos. Por Elizabeth León Guzmán, Ph.D. Profesora Ingeniería de Sistemas Grupo de Investigación MIDAS

UNIDAD 6 ADMINISTRACIÓN. Introducción a la unidad

Carlos A. Olarte Ligaduras de Integridad y Restricciones sobre la BD

Sistemas de Datos Curso: Ernesto Chinkes. Sistemas de Datos. Niveles de Control de acceso. Criptografía. Aspectos legales y éticos.

Asignatura: Base de Datos FA.C.E.N.A. - UNNE Cursado 2011

Práctica 3: Lenguaje SQL 2ª Parte: Definición de datos. Objetivos

DISPARADORES EN SQL DISPARADORES EN SQL:1999 SINTAXIS GENERAL DE UN DISPARADOR EN SQL:1999 SINTAXIS GENERAL DE UN DISPARADOR EN SQL:1999

Restricciones de Integridad

Concepto de vista. (con ciertas limitaciones). nivel físico) Una vista es una tabla virtual (no tiene una correspondencia a

Organización de PostgreSQL. Manejo de Usuarios. Herramientas para Desarrollo

Unidad III. Bases de Datos

ADMINISTRACION DE ORACLE 9i Guía de estudio (OCA) TEMA 1

ÍNDICE. Introducción... Capítulo 1. Características, instalación, inicio y entorno de trabajo... 1

Práctica A: Implementación de la integridad de datos

SEGURIDAD EN LAS BASES DE DATOS

Políticas de Seguridad Para los Sistemas de Aprendizaje en Línea y de Gestión Educativa

Triggers 24/12/2016. Escuela Técnica Superior de Ingeniería Informática Departamento de Lenguajes y Sistemas Informáticos. Triggers en Oracle

POLITICA DE SEGURIDAD DE LA INFORMACION

BASES de DATOS ÁCTIVAS

Seguridad e integridad de bases de datos USB

EJEMPLOS PRÁCTICOS SQL

GBD Diseño físico de DDBB

- 1 - Mg. Abril Saire Peralta

Manual de Sentencias Básicas en SQL

El SQL es un lenguaje estándar de programación para el acceso a bases de datos.

AUTENTICACIÓN: DETERMINAR SI EL USUARIOS ES QUIÉN DICE SER AUTORIZACIÓN: DETERMINA A CUÁLES OBJETOS TIENE ACCESO EL USUARIO

Introducción a SQL (DDL)

SQL: Lenguaje de definición de datos (DDL) (*) DBMS: DATA BASE MANAGEMENT SYSTEM. SGBD: SISTEMAS GESTOR DE BASE DE DATOS

GESTORES GESTORES DE BASES DE DATOS

Microsoft SQL Server Usuarios, Roles, Encriptación y Back Up de la base de datos.

UNIDAD I. Universidad del Zulia Costa Oriental del Lago. Conceptos Básicos

Modelamiento y Diseño de Base de Datos

Tema 5. Lenguaje de Definición de Datos

Introducción a la Seguridad Informática

T07 Opciones de integridad referencial

SEGURIDAD INFORMATICA CORPORATIVA

GUIA DE ESTUDIO PARA EXTRAORDINARIO Sub II Aplica sistemas de informacion y administracion de bases de datos

SEGURIDAD EN COMUNICACIONES

1 2 3 ( /! 3 ) +, 1& 3 0))) % &! ( ) +,. / & 0)))

SQL - DDL y consultas de actualización. José Muñoz Jimeno Febrero 2015

PO-1TI-001. Código: Versión: Elaborado por: - Gerencia de IT. Página: Revisado por: - Gerencia de IT. Page 1 of 5

INTEGRIDAD REFERENCIAL

En este curso se presenta un análisis profundo de la base de datos MySQL para los sistemas operativos Windows y Linux.

TÉCNICO SUPERIOR UNIVERSITARIO EN TECNOLOGÍAS DE LA INFORMACIÓN Y COMUNICACIÓN

Fundamentos de Bases de Datos Facultad de Ciencias UNAM

Oracle Database y Oracle SQL Developer

PL/SQL avanzado: Secuencias, triggers, cursores y subprogramas

Transcripción:

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? 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

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? Sistema de Seguridad del DBMS Objetivos 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

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 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

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. 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

Mecanismos de Seguridad de la BD Control de accesos Control de flujo Control de inferencia Encriptado 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

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 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

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. 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

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. 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

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. 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

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 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 <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 disposición más cercana a la forma en que trabajan las organizaciones. 10

Debilidades del Sistema Discrecional Sistema usuario1 (Sistema, usuario1, SELECT ON EMPLOYEE WITH GRANT OPTION) usuario2 Privilegio otorgado Privilegio revocado Usuario3 usuario4 Grafo de Autorizaciones usuario 2 conserva los privilegios 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

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) <= clase(o) (Propiedad *) "no read up, no write down" Control de Acceso Mandatorio Control de Acceso Mandatorio Relaciones Multinivel Id_Objeto color NombreObj Clase 102 Marrón Pintura C 101 Rojo Mesa S Usuarios con permisos S y TS pueden ver ambas filas; si tiene permiso C sólo 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 restricción 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

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. 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

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. 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

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