Seguridad - Javeriana Caliatlas.puj.edu.co/.../cursos/cc100/files/clases/Seguridad.pdf ·...
Transcript of Seguridad - Javeriana Caliatlas.puj.edu.co/.../cursos/cc100/files/clases/Seguridad.pdf ·...
![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](https://reader034.fdocuments.es/reader034/viewer/2022042120/5e9a9fbee237ce15fd47e9f1/html5/thumbnails/1.jpg)
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](https://reader034.fdocuments.es/reader034/viewer/2022042120/5e9a9fbee237ce15fd47e9f1/html5/thumbnails/2.jpg)
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](https://reader034.fdocuments.es/reader034/viewer/2022042120/5e9a9fbee237ce15fd47e9f1/html5/thumbnails/3.jpg)
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](https://reader034.fdocuments.es/reader034/viewer/2022042120/5e9a9fbee237ce15fd47e9f1/html5/thumbnails/4.jpg)
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](https://reader034.fdocuments.es/reader034/viewer/2022042120/5e9a9fbee237ce15fd47e9f1/html5/thumbnails/5.jpg)
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](https://reader034.fdocuments.es/reader034/viewer/2022042120/5e9a9fbee237ce15fd47e9f1/html5/thumbnails/6.jpg)
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](https://reader034.fdocuments.es/reader034/viewer/2022042120/5e9a9fbee237ce15fd47e9f1/html5/thumbnails/7.jpg)
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](https://reader034.fdocuments.es/reader034/viewer/2022042120/5e9a9fbee237ce15fd47e9f1/html5/thumbnails/8.jpg)
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](https://reader034.fdocuments.es/reader034/viewer/2022042120/5e9a9fbee237ce15fd47e9f1/html5/thumbnails/9.jpg)
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](https://reader034.fdocuments.es/reader034/viewer/2022042120/5e9a9fbee237ce15fd47e9f1/html5/thumbnails/10.jpg)
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](https://reader034.fdocuments.es/reader034/viewer/2022042120/5e9a9fbee237ce15fd47e9f1/html5/thumbnails/11.jpg)
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](https://reader034.fdocuments.es/reader034/viewer/2022042120/5e9a9fbee237ce15fd47e9f1/html5/thumbnails/12.jpg)
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](https://reader034.fdocuments.es/reader034/viewer/2022042120/5e9a9fbee237ce15fd47e9f1/html5/thumbnails/13.jpg)
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](https://reader034.fdocuments.es/reader034/viewer/2022042120/5e9a9fbee237ce15fd47e9f1/html5/thumbnails/14.jpg)
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](https://reader034.fdocuments.es/reader034/viewer/2022042120/5e9a9fbee237ce15fd47e9f1/html5/thumbnails/15.jpg)
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](https://reader034.fdocuments.es/reader034/viewer/2022042120/5e9a9fbee237ce15fd47e9f1/html5/thumbnails/16.jpg)
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](https://reader034.fdocuments.es/reader034/viewer/2022042120/5e9a9fbee237ce15fd47e9f1/html5/thumbnails/17.jpg)
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](https://reader034.fdocuments.es/reader034/viewer/2022042120/5e9a9fbee237ce15fd47e9f1/html5/thumbnails/18.jpg)
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](https://reader034.fdocuments.es/reader034/viewer/2022042120/5e9a9fbee237ce15fd47e9f1/html5/thumbnails/19.jpg)
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](https://reader034.fdocuments.es/reader034/viewer/2022042120/5e9a9fbee237ce15fd47e9f1/html5/thumbnails/20.jpg)
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](https://reader034.fdocuments.es/reader034/viewer/2022042120/5e9a9fbee237ce15fd47e9f1/html5/thumbnails/21.jpg)
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](https://reader034.fdocuments.es/reader034/viewer/2022042120/5e9a9fbee237ce15fd47e9f1/html5/thumbnails/22.jpg)
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