seguridad - javeriana caliatlas.puj.edu.co/.../cursos/cc100/files/clases/seguridad.pdf ·...

22
Seguridad Carlos A. Olarte Bases de Datos II Carlos A. Olarte Bases de Datos II Seguridad

Upload: others

Post on 16-Apr-2020

3 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Seguridad - Javeriana Caliatlas.puj.edu.co/.../cursos/cc100/files/clases/Seguridad.pdf · 2005-05-23 · Carlos A. Olarte Bases de Datos II Seguridad. Extracci´on segura de informaci´on

Seguridad

Carlos A. OlarteBases de Datos II

Carlos A. Olarte Bases de Datos II Seguridad

Page 2: Seguridad - Javeriana Caliatlas.puj.edu.co/.../cursos/cc100/files/clases/Seguridad.pdf · 2005-05-23 · Carlos A. Olarte Bases de Datos II Seguridad. Extracci´on segura de informaci´on

Contenido

1 Introduccion

2 Niveles de proteccion en la BD

3 Ejemplos

Carlos A. Olarte Bases de Datos II Seguridad

Page 3: Seguridad - Javeriana Caliatlas.puj.edu.co/.../cursos/cc100/files/clases/Seguridad.pdf · 2005-05-23 · Carlos A. Olarte Bases de Datos II Seguridad. Extracci´on segura de informaci´on

Motivacion

Por que es importante la seguridad?

Valor de la informacion en las empresas

Nuevos retos: Redes de computo integradas

Vulnerabilidad de los sistemas

Oportunidades de empleo

Carlos A. Olarte Bases de Datos II Seguridad

Page 4: Seguridad - Javeriana Caliatlas.puj.edu.co/.../cursos/cc100/files/clases/Seguridad.pdf · 2005-05-23 · Carlos A. Olarte Bases de Datos II Seguridad. Extracci´on segura de informaci´on

Perdida accidental de la consistencia

Caıdas durante el procesamiento de las transacciones

Anomalıas causadas por el acceso concurrente

Anomalıas causadas por la distribucion de los datos

Errores logicos del programador

Carlos A. Olarte Bases de Datos II Seguridad

Page 5: Seguridad - Javeriana Caliatlas.puj.edu.co/.../cursos/cc100/files/clases/Seguridad.pdf · 2005-05-23 · Carlos A. Olarte Bases de Datos II Seguridad. Extracci´on segura de informaci´on

Accesos malintencionados a las base de datos

Lecturas no autorizadas (robo de informacion)

Modificaciones no autorizadas (sabotaje)

Destruccion no autorizada de los datos (sabotaje)

Carlos A. Olarte Bases de Datos II Seguridad

Page 6: Seguridad - Javeriana Caliatlas.puj.edu.co/.../cursos/cc100/files/clases/Seguridad.pdf · 2005-05-23 · Carlos A. Olarte Bases de Datos II Seguridad. Extracci´on segura de informaci´on

Algunas Definiciones

Seguridad en la base de datos: Proteccion contra los accesosmalintencionados

Integridad en la base de datos: Proteccion contra las perdidasaccidentales de la consistencia

Carlos A. Olarte Bases de Datos II Seguridad

Page 7: Seguridad - Javeriana Caliatlas.puj.edu.co/.../cursos/cc100/files/clases/Seguridad.pdf · 2005-05-23 · Carlos A. Olarte Bases de Datos II Seguridad. Extracci´on segura de informaci´on

Niveles de proteccion en la BD

Fısico: Los nodos de computo deben estar protegidos contrael ingreso de extranos (data centros)

Humano: Los encargados del nodo deben ser calificados y deconfianza (sobornos)

Sistema Operativo: Mantener actulizados los parches del S.O,proteger las cuentas de usuario asi como los archivos de la BDy sus backups, cerrar los puertos, etc

Red: Protecciones contra el ingreso por la red. Proteccion enel envio de datos, polıticas de firewall

SGBD: La base de datos debe ser configurada con los roles ypermisos adecuados para evitar los accesos malintencionados.Las aplicaciones sobre la BD tambien deben protegerse.

Carlos A. Olarte Bases de Datos II Seguridad

Page 8: Seguridad - Javeriana Caliatlas.puj.edu.co/.../cursos/cc100/files/clases/Seguridad.pdf · 2005-05-23 · Carlos A. Olarte Bases de Datos II Seguridad. Extracci´on segura de informaci´on

Auntenticacion

Cuentas de usuario de la aplicacion, S.O y base de datos

Quien ingresa, dice ser quien es

Carlos A. Olarte Bases de Datos II Seguridad

Page 9: Seguridad - Javeriana Caliatlas.puj.edu.co/.../cursos/cc100/files/clases/Seguridad.pdf · 2005-05-23 · Carlos A. Olarte Bases de Datos II Seguridad. Extracci´on segura de informaci´on

Autorizaciones

Privilegios sobre los recursos.

Autorizaciones de DML:

Permisos de LecturaPermisos de EscrituraPermisos de ActualizacionPermisos de Borrado

Carlos A. Olarte Bases de Datos II Seguridad

Page 10: Seguridad - Javeriana Caliatlas.puj.edu.co/.../cursos/cc100/files/clases/Seguridad.pdf · 2005-05-23 · Carlos A. Olarte Bases de Datos II Seguridad. Extracci´on segura de informaci´on

Continuacion

Autorizaciones de DDL:

Permisos para crear/borrar indicesPermisos para crear/borrar tablasPermisos para modificar parametros de la base de datosPermisos para crear vistas, sinonimos, snpashots, etcPermisos para modificar objetos del sistema

Carlos A. Olarte Bases de Datos II Seguridad

Page 11: Seguridad - Javeriana Caliatlas.puj.edu.co/.../cursos/cc100/files/clases/Seguridad.pdf · 2005-05-23 · Carlos A. Olarte Bases de Datos II Seguridad. Extracci´on segura de informaci´on

Autorizacion y Vistas

Hacer uso de vistas para ocultar relaciones y/o tuplas adeterminados usuarios

Cada usuario solo ve lo que le corresponde

Ej: Un vendedor no puede ver los negocios de otro, pero eljefe de departamento puede ver y modificar la informacion detodos

Carlos A. Olarte Bases de Datos II Seguridad

Page 12: Seguridad - Javeriana Caliatlas.puj.edu.co/.../cursos/cc100/files/clases/Seguridad.pdf · 2005-05-23 · Carlos A. Olarte Bases de Datos II Seguridad. Extracci´on segura de informaci´on

Grafo de autorizacion

Es un grafo que muestra la concesion de cierta autorizacionsobre un recurso

Solo se tiene la autorizacion si existe un camino desde el DBAhasta el usuario

Un usuario puede conceder autorizaciones a otros si ası lodetermina el DBA

Carlos A. Olarte Bases de Datos II Seguridad

Page 13: Seguridad - Javeriana Caliatlas.puj.edu.co/.../cursos/cc100/files/clases/Seguridad.pdf · 2005-05-23 · Carlos A. Olarte Bases de Datos II Seguridad. Extracci´on segura de informaci´on

Ejemplo

Carlos A. Olarte Bases de Datos II Seguridad

Page 14: Seguridad - Javeriana Caliatlas.puj.edu.co/.../cursos/cc100/files/clases/Seguridad.pdf · 2005-05-23 · Carlos A. Olarte Bases de Datos II Seguridad. Extracci´on segura de informaci´on

Cifrado

Los datos realmente crıticos (passords, No tarjeta, etc) debenser cifrados para impedir su lectura no autorizada

Los algoritmos de cifrado deben garantizar:

Facilidad de cifrar y decodificar para los usuarios autorizadosNo importa la desconocido que sea el algoritmo, sino elparametro (llave) del mismoDebe ser extremadamente complejo para un intruso decodificarla llave

Carlos A. Olarte Bases de Datos II Seguridad

Page 15: Seguridad - Javeriana Caliatlas.puj.edu.co/.../cursos/cc100/files/clases/Seguridad.pdf · 2005-05-23 · Carlos A. Olarte Bases de Datos II Seguridad. Extracci´on segura de informaci´on

Algunos algoritmos

MD5: No tiene reversa. Genera un numero de 128 bits dadala llave.

DES (Data encription Standard): Reordenacion de loscaracteres dada una llave que solo puede ser conocida por losusuarios autorizados

Cifrado de Clave publica: Existe una llave publica y una claveprivada que permite “abrir” el mensaje. P1 y P2 primosextremadamente grandes y su producto dificilmentefactorizable

Carlos A. Olarte Bases de Datos II Seguridad

Page 16: Seguridad - Javeriana Caliatlas.puj.edu.co/.../cursos/cc100/files/clases/Seguridad.pdf · 2005-05-23 · Carlos A. Olarte Bases de Datos II Seguridad. Extracci´on segura de informaci´on

Extraccion segura de informacion

Si se van a realizar consultas estadısticas sobre la B.D, dichasconsultas no pueden brindar informacion que comprometa laseguridad:

A partir de intersecciones entre consultas saber un datoespecıficoA partir de dos consultas diferentes inferir informacion nopublica

Esquemas de solucion:

Asegur que los valores de interseccion sean lo sificientementegrandes para evitar la inferencia de informacion“Contaminar” la informacion dificultando la labor del usuariomal intencionado

Carlos A. Olarte Bases de Datos II Seguridad

Page 17: Seguridad - Javeriana Caliatlas.puj.edu.co/.../cursos/cc100/files/clases/Seguridad.pdf · 2005-05-23 · Carlos A. Olarte Bases de Datos II Seguridad. Extracci´on segura de informaci´on

Algunos EjemplosPassword Seguro

Debe utilizarse un algoritmo sin reversa (MD5 por ejemplo)

java.security y una implementacion

md5() en mysql y PHP

Carlos A. Olarte Bases de Datos II Seguridad

Page 18: Seguridad - Javeriana Caliatlas.puj.edu.co/.../cursos/cc100/files/clases/Seguridad.pdf · 2005-05-23 · Carlos A. Olarte Bases de Datos II Seguridad. Extracci´on segura de informaci´on

Roles/Usuarios Oracle

Comandos SQL para conceder/eliminar permisos (ejemplo conuna tabla y dos usuarios)

Ejemplo de creacion de un usuarios y concesion de losprivilegios connect y resource

Herramienta Tora, una forma mas sencilla de concederprivilegios

Carlos A. Olarte Bases de Datos II Seguridad

Page 19: Seguridad - Javeriana Caliatlas.puj.edu.co/.../cursos/cc100/files/clases/Seguridad.pdf · 2005-05-23 · Carlos A. Olarte Bases de Datos II Seguridad. Extracci´on segura de informaci´on

Auditorıas en Oracle

Por que auditar objetos de la base de datos?

Como se puede auditar?

AUDIT TRAIL=OSAUDIT FILE DEST=/ora01/...AUDIT ALL ON <OBJ>

Ejemplo de auditorıa sobre una tabla

Carlos A. Olarte Bases de Datos II Seguridad

Page 20: Seguridad - Javeriana Caliatlas.puj.edu.co/.../cursos/cc100/files/clases/Seguridad.pdf · 2005-05-23 · Carlos A. Olarte Bases de Datos II Seguridad. Extracci´on segura de informaci´on

Sniffer

El problema de la seguridad de la red

Visualizacion de los contenidos de la red

Ejemplo de descubrir el password cuando se utiliza telnet

Solucion con SSL (SSH)

Carlos A. Olarte Bases de Datos II Seguridad

Page 21: Seguridad - Javeriana Caliatlas.puj.edu.co/.../cursos/cc100/files/clases/Seguridad.pdf · 2005-05-23 · Carlos A. Olarte Bases de Datos II Seguridad. Extracci´on segura de informaci´on

Algoritmo RSA

Algoritmo de clave publicaSe calcula n = p ∗ q con p y q primos suficientemente grandes(entre 100 y 300 dıgitos) y σ = (p − 1) ∗ (q − 1). Se busca etalque no tenga primos comunes con σ. Se calcula d = e−1modσn es la llave publica y d la privadaSe requieren 5 meses y casi 300 computadores para romper unallave de 512 bits

Carlos A. Olarte Bases de Datos II Seguridad

Page 22: Seguridad - Javeriana Caliatlas.puj.edu.co/.../cursos/cc100/files/clases/Seguridad.pdf · 2005-05-23 · Carlos A. Olarte Bases de Datos II Seguridad. Extracci´on segura de informaci´on

Tomcat Seguro

Certificados: Una manera de saber que la persona (servidor)es quien dice ser

Configuracion del Tomcat Seguro

keytool -genkey -alias tomcat -keyalg RSA -keystore ./.keystoreConfiguracion de Server.xml para habilitar el puerto seguroPrueba con una JSP o HTML

Carlos A. Olarte Bases de Datos II Seguridad