Your SlideShare is downloading. ×
0
SEGURIDAD DE BASE DE DATOS
SEGURIDAD DE BASE DE DATOS
SEGURIDAD DE BASE DE DATOS
SEGURIDAD DE BASE DE DATOS
SEGURIDAD DE BASE DE DATOS
SEGURIDAD DE BASE DE DATOS
SEGURIDAD DE BASE DE DATOS
SEGURIDAD DE BASE DE DATOS
SEGURIDAD DE BASE DE DATOS
SEGURIDAD DE BASE DE DATOS
SEGURIDAD DE BASE DE DATOS
SEGURIDAD DE BASE DE DATOS
SEGURIDAD DE BASE DE DATOS
SEGURIDAD DE BASE DE DATOS
SEGURIDAD DE BASE DE DATOS
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×
Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Text the download link to your phone
Standard text messaging rates apply

SEGURIDAD DE BASE DE DATOS

107,612

Published on

Se da a conocer las diferentes formas de dar seguridad a una base de datos

Se da a conocer las diferentes formas de dar seguridad a una base de datos

Published in: Economy & Finance
9 Comments
13 Likes
Statistics
Notes
No Downloads
Views
Total Views
107,612
On Slideshare
0
From Embeds
0
Number of Embeds
3
Actions
Shares
0
Downloads
4,067
Comments
9
Likes
13
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 1. 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
  • 2. 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 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
  • 3. 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
  • 4. 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
  • 5. 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
  • 6. 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
  • 7. 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
  • 8. 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
  • 9. 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
  • 10. 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 <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
  • 11. 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
  • 12. 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) <= clase(O) (Propiedad *) quot;no read up, no write downquot; BASES DE DATOS I 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
  • 13. 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
  • 14. 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
  • 15. BASES DE DATOS I 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 (no- fabricació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

×