Top Banner
Curso: (62612) Dise˜ no de aplicaciones seguras Fernando Tricas Garc´ ıa Departamento de Inform´ atica e Ingenier´ ıa de Sistemas Universidad de Zaragoza http://webdiis.unizar.es/ ~ ftricas/ http://moodle.unizar.es/ [email protected]
27

Fernando Tricas Garc awebdiis.unizar.es/~ftricas/Asignaturas/seguridadD/Transparenci... · Seguridad en bases de datos I Los propios gestores no tienen en cuenta estos aspectos I

Jul 31, 2020

Download

Documents

dariahiddleston
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Fernando Tricas Garc awebdiis.unizar.es/~ftricas/Asignaturas/seguridadD/Transparenci... · Seguridad en bases de datos I Los propios gestores no tienen en cuenta estos aspectos I

Curso: (62612) Diseno de aplicaciones seguras

Fernando Tricas Garcıa

Departamento de Informatica e Ingenierıa de SistemasUniversidad de Zaragoza

http://webdiis.unizar.es/~ftricas/

http://moodle.unizar.es/

[email protected]

Page 2: Fernando Tricas Garc awebdiis.unizar.es/~ftricas/Asignaturas/seguridadD/Transparenci... · Seguridad en bases de datos I Los propios gestores no tienen en cuenta estos aspectos I

Tema XI: Seguridad en bases de datos

Fernando Tricas Garcıa

Departamento de Informatica e Ingenierıa de SistemasUniversidad de Zaragoza

http://webdiis.unizar.es/~ftricas/

http://moodle.unizar.es/

[email protected]

62612 Diseno de aplicaciones seguras. Fernando Tricas Garcıa. 2

Page 3: Fernando Tricas Garc awebdiis.unizar.es/~ftricas/Asignaturas/seguridadD/Transparenci... · Seguridad en bases de datos I Los propios gestores no tienen en cuenta estos aspectos I

Seguridad en bases de datos

I Los propios gestores no tienen en cuenta estos aspectos

I Las medidas adoptadas no son estandar entre distintossistemas

I ¡Leer la documentacion!

I Hay libros completos dedicados a este tema

I Daremos algunas ideas

62612 Diseno de aplicaciones seguras. Fernando Tricas Garcıa. 3

Page 4: Fernando Tricas Garc awebdiis.unizar.es/~ftricas/Asignaturas/seguridadD/Transparenci... · Seguridad en bases de datos I Los propios gestores no tienen en cuenta estos aspectos I

Los objetivos

I Los propios datos (claro)

Pero tambien ...

I Cotas. Valores maximos o mınimos pueden proporcionarinformacion interesante

I Existencia. Si existe un dato y se puede saber ...

I Resultados negativos. Cuando alguien (o algo) no tiene ‘algo’tambien es informacion interesante.

I Valor probable

Hay que defenderse contra todas las posibilidades...Tampoco se trata (como casi siempre) de cerrar toda lainformacion para que no pase nada malo.

62612 Diseno de aplicaciones seguras. Fernando Tricas Garcıa. 4

Page 5: Fernando Tricas Garc awebdiis.unizar.es/~ftricas/Asignaturas/seguridadD/Transparenci... · Seguridad en bases de datos I Los propios gestores no tienen en cuenta estos aspectos I

Los objetivos

I Los propios datos (claro)Pero tambien ...

I Cotas. Valores maximos o mınimos pueden proporcionarinformacion interesante

I Existencia. Si existe un dato y se puede saber ...

I Resultados negativos. Cuando alguien (o algo) no tiene ‘algo’tambien es informacion interesante.

I Valor probable

Hay que defenderse contra todas las posibilidades...Tampoco se trata (como casi siempre) de cerrar toda lainformacion para que no pase nada malo.

62612 Diseno de aplicaciones seguras. Fernando Tricas Garcıa. 4

Page 6: Fernando Tricas Garc awebdiis.unizar.es/~ftricas/Asignaturas/seguridadD/Transparenci... · Seguridad en bases de datos I Los propios gestores no tienen en cuenta estos aspectos I

Y por supuesto...

I Consistencia interna.I Los datos cumplen con las reglas establecidas (no hay precios

negativos, ...)

I Consistencia externaI Los datos reflejan la realidad.

62612 Diseno de aplicaciones seguras. Fernando Tricas Garcıa. 5

Page 7: Fernando Tricas Garc awebdiis.unizar.es/~ftricas/Asignaturas/seguridadD/Transparenci... · Seguridad en bases de datos I Los propios gestores no tienen en cuenta estos aspectos I

Reglas de integridad

Ademas de la integridad referencial y las tradicionales

I Comprobacion de los valores de los campos: contienen valores‘razonables’ y/o validos

I Comprobacion de ambito adecuado (devolver valores solocuando el rango es suficientemente amplio).

I Comprobaciones de consistencia.Ej.: en la factura algo vale X, y en la tarifa vale Y...

Puede haber conflictos entre estas comprobaciones y laconfidencialidad (para comprobar algun valor hay que acceder avalores privados)

62612 Diseno de aplicaciones seguras. Fernando Tricas Garcıa. 6

Page 8: Fernando Tricas Garc awebdiis.unizar.es/~ftricas/Asignaturas/seguridadD/Transparenci... · Seguridad en bases de datos I Los propios gestores no tienen en cuenta estos aspectos I

Empezando por lo basico

I La conexion con la base de datos no suele ser cifradaI Oracle, como producto aparteI MySQL, con SSLI Otros?

Siempre se puede habilitar una red privada virtual (VPN)

62612 Diseno de aplicaciones seguras. Fernando Tricas Garcıa. 7

Page 9: Fernando Tricas Garc awebdiis.unizar.es/~ftricas/Asignaturas/seguridadD/Transparenci... · Seguridad en bases de datos I Los propios gestores no tienen en cuenta estos aspectos I

Empezando por lo basico

Nuestra principal preocupacion deberıa ser el dano que puedarealizar una entrada de datos maliciosa

I Todas (o casi todas) proporcionan autentificacion medianteclave, y control de acceso a las tablas

I Solo ofrecen proteccion contra el resto de ususarios de la basede datos

62612 Diseno de aplicaciones seguras. Fernando Tricas Garcıa. 8

Page 10: Fernando Tricas Garc awebdiis.unizar.es/~ftricas/Asignaturas/seguridadD/Transparenci... · Seguridad en bases de datos I Los propios gestores no tienen en cuenta estos aspectos I

Control de acceso

I Niveles de accesoI Manipulacion de datos de las tablas basicasI Operaciones compuestas

I Podemos:I Restringir las operaciones basandonos en cada usuarioI Definir los niveles de proteccion para cada tipo de dato

I En todo caso ...

I Completitud (todos los campos estan protegidos)I Consistencia (no hay incoherencias en las reglas)

62612 Diseno de aplicaciones seguras. Fernando Tricas Garcıa. 9

Page 11: Fernando Tricas Garc awebdiis.unizar.es/~ftricas/Asignaturas/seguridadD/Transparenci... · Seguridad en bases de datos I Los propios gestores no tienen en cuenta estos aspectos I

Mas ideas

I Esto no ayuda con aplicaciones que tengan su propio sistemade usuarios

I En la practica, los propios programas deben ocuparse delcontrol de acceso a la base de datos

I Hay que ser muy cuidadosos con la informacion que se puedadeducir

62612 Diseno de aplicaciones seguras. Fernando Tricas Garcıa. 10

Page 12: Fernando Tricas Garc awebdiis.unizar.es/~ftricas/Asignaturas/seguridadD/Transparenci... · Seguridad en bases de datos I Los propios gestores no tienen en cuenta estos aspectos I

Control de acceso

I El objetivo es proteger a unos usuarios de los otros

I Cada usuario tiene sus tablas, y gestiona quien puede accedera ellas.

I No es una solucion escalable

62612 Diseno de aplicaciones seguras. Fernando Tricas Garcıa. 11

Page 13: Fernando Tricas Garc awebdiis.unizar.es/~ftricas/Asignaturas/seguridadD/Transparenci... · Seguridad en bases de datos I Los propios gestores no tienen en cuenta estos aspectos I

Control de acceso

I Generalmente:I Usuarios

Se autentifica con un proceso de entrada. A veces es suficientecon que el usuario se haya autentificado en el sistemaoperativo.

I Acciones (SELECT, INSERT, ...),I Objetos (Tablas, otros...),

Los usuarios invocan acciones sobre los objetos. El DBMS decide sila accion esta permitida o no.

62612 Diseno de aplicaciones seguras. Fernando Tricas Garcıa. 12

Page 14: Fernando Tricas Garc awebdiis.unizar.es/~ftricas/Asignaturas/seguridadD/Transparenci... · Seguridad en bases de datos I Los propios gestores no tienen en cuenta estos aspectos I

Control de acceso

I Privilegios (quien, que, herencia, ... GRANT)

I Vistas (solo puedes ver ...)

I Tablas virtuales como filtro de las realesI Se podria crear una por cada tipo de usuario del sistema

CREATE VIEW e m p l e a d o s e n c i l l o ASSELECT nombre , despacho , t e l e f o n o ,c o r r e o , f e c h a I n g r e s oFROM i n f o e m p l e a d o ;

Tambien se pueden hacer cosas mas sofisticadas...

62612 Diseno de aplicaciones seguras. Fernando Tricas Garcıa. 13

Page 15: Fernando Tricas Garc awebdiis.unizar.es/~ftricas/Asignaturas/seguridadD/Transparenci... · Seguridad en bases de datos I Los propios gestores no tienen en cuenta estos aspectos I

Las vistas

I Son flexibles y permiten polıticas de control de accesodefinidas a un nivel proximo al de la aplicacion

I Pueden servir para polıticas de seguridad basadas en contextoo en los datos

I Invocacion controladaI Las lecturas sin problemasI Las actualizaciones pueden tener problemas

I Los datos pueden ser reclasificados facilmente

62612 Diseno de aplicaciones seguras. Fernando Tricas Garcıa. 14

Page 16: Fernando Tricas Garc awebdiis.unizar.es/~ftricas/Asignaturas/seguridadD/Transparenci... · Seguridad en bases de datos I Los propios gestores no tienen en cuenta estos aspectos I

Tambien hay desventajas

I La comprobacion de acceso puede ser complicada y lenta

I Las vistas tienen que comprobarse desde el punto de vista dela correccion: ¿respetan la polıtica de seguridad?

I Completitud y consistencia no se obtienen automaticamente.

I La parte relativa a la seguridad del DBMS se puede complicarmucho.

62612 Diseno de aplicaciones seguras. Fernando Tricas Garcıa. 15

Page 17: Fernando Tricas Garc awebdiis.unizar.es/~ftricas/Asignaturas/seguridadD/Transparenci... · Seguridad en bases de datos I Los propios gestores no tienen en cuenta estos aspectos I

Proteccion de campos

I Ni siquiera los que tienen acceso a la BD son siempre gente deconfianza

I Mejor proteger los datos delicados de su vista (criptografıa)I Opciones propias

I Campos PASSWORDI Mejor no fiarse: cifrar, codificar, almacenar, decodificar,

descifrar ...Problemas: ¿y para buscar? ¿y las prestaciones? ¿y el espacio?

62612 Diseno de aplicaciones seguras. Fernando Tricas Garcıa. 16

Page 18: Fernando Tricas Garc awebdiis.unizar.es/~ftricas/Asignaturas/seguridadD/Transparenci... · Seguridad en bases de datos I Los propios gestores no tienen en cuenta estos aspectos I

Ataques mediante analisis estadısticos

I Cuidado con el acceso que damos a nuestra base de datos

I Eliminar el acceso a datos delicados

I Por ejemplo, datos unicosEjemplo:Si conozco a un cliente de Alfamen, de 72 anos, y solo hayuno con esas caracterısticas, no importa que el nombre y ladireccion no aparezcan.

62612 Diseno de aplicaciones seguras. Fernando Tricas Garcıa. 17

Page 19: Fernando Tricas Garc awebdiis.unizar.es/~ftricas/Asignaturas/seguridadD/Transparenci... · Seguridad en bases de datos I Los propios gestores no tienen en cuenta estos aspectos I

Ataques mediante analisis estadısticos

I Una solucion serıa permitir solo funciones agregadas (AVG,COUNT, MAX, MIN, SUM, ...)

I Pero se puede inferir informacion

62612 Diseno de aplicaciones seguras. Fernando Tricas Garcıa. 18

Page 20: Fernando Tricas Garc awebdiis.unizar.es/~ftricas/Asignaturas/seguridadD/Transparenci... · Seguridad en bases de datos I Los propios gestores no tienen en cuenta estos aspectos I

Analisis estadisticos: ejemplo

SELECT COUNT(∗ )FROM c l i e n t e s

WHERE c i u d a d = "Alfamen"

AND edad = 7 2 ;

Si da 1 ...

SELECT AVG( s u e l d o )FROM c l i e n t e s

WHERE c i u d a d = "Alfamen"

AND edad = 7 2 ;

62612 Diseno de aplicaciones seguras. Fernando Tricas Garcıa. 19

Page 21: Fernando Tricas Garc awebdiis.unizar.es/~ftricas/Asignaturas/seguridadD/Transparenci... · Seguridad en bases de datos I Los propios gestores no tienen en cuenta estos aspectos I

Analisis estadisticos

I Restringir las peticiones por debajo de determinados numeros

I Cuidado (claro) con sus complementarias

SELECT AVG( s u e l d o )FROM c l i e n t e s

WHERE NOT ( c i u d a d = "Alfamen"

AND edad = 7 2 ) ;

Pero siempre se puede conseguir algo ...

62612 Diseno de aplicaciones seguras. Fernando Tricas Garcıa. 20

Page 22: Fernando Tricas Garc awebdiis.unizar.es/~ftricas/Asignaturas/seguridadD/Transparenci... · Seguridad en bases de datos I Los propios gestores no tienen en cuenta estos aspectos I

Analisis estadisticos

SELECT COUNT(∗ )FROM c l i e n t e s

WHERE c i u d a d = "Calatayud"

AND edad = 7 2 :

Devuelve 100

SELECT AVG( s u e l d o )FROM c l i e n t e s

WHERE c i u d a d = "Calatayud"

OR ( c i u d a d = "Alfamen"

AND edad = 7 2 ) ;

Y ya esta! Como?

62612 Diseno de aplicaciones seguras. Fernando Tricas Garcıa. 21

Page 23: Fernando Tricas Garc awebdiis.unizar.es/~ftricas/Asignaturas/seguridadD/Transparenci... · Seguridad en bases de datos I Los propios gestores no tienen en cuenta estos aspectos I

Ataques estadısticos

I Ataque directo. Si hay pocos datos, se calcula el agregado yse deducen datos.

I Ataque indirecto. Combinacion de datos de diferentesagregaciones.

I Ataque mediante predicados trazadoresq = count(a and b and c) =count(a) - count(a and not(b and c)) =count(a) - count(a and (not b or not c) )

I Fallos mediante sistemas lineales

62612 Diseno de aplicaciones seguras. Fernando Tricas Garcıa. 22

Page 24: Fernando Tricas Garc awebdiis.unizar.es/~ftricas/Asignaturas/seguridadD/Transparenci... · Seguridad en bases de datos I Los propios gestores no tienen en cuenta estos aspectos I

Algunas defensas

I Los datos sensibles no deberıan estar disponibles

I Auditar las preguntas de vez en cuando

I Modificar la base de datos de forma que no afecte al analisisestadıstico

I Anadir ruido estadıstico (no sistematicamente)

I No hay soluciones suficientemente buenas

I Disparadores (‘Triggers’)

I ¿El futuro?

62612 Diseno de aplicaciones seguras. Fernando Tricas Garcıa. 23

Page 25: Fernando Tricas Garc awebdiis.unizar.es/~ftricas/Asignaturas/seguridadD/Transparenci... · Seguridad en bases de datos I Los propios gestores no tienen en cuenta estos aspectos I

Para saber mas

‘Anonymisation: managing data protection risk code of practice’http://www.ico.org.uk/for_organisations/data_protection/topic_

guides/anonymisation

Y la web de Data Protection and Freedom of Information Advice,http://www.ico.org.uk/

62612 Diseno de aplicaciones seguras. Fernando Tricas Garcıa. 24

Page 26: Fernando Tricas Garc awebdiis.unizar.es/~ftricas/Asignaturas/seguridadD/Transparenci... · Seguridad en bases de datos I Los propios gestores no tienen en cuenta estos aspectos I

Privacidad“OECD Guidelines on the Protection of Privacy and TransborderFlows of Personal Data”http://www.oecd.org/document/18/0,3343,en_2649_34255_1815186_1_1_1_1,00.html

I Coleccion de datos limitada. Solo los datos necesarios, conconsentimiento, obtenidos legalmente...

I Datos de calidad. Relevantes, ajustados a la realidad,completos y al dıa

I Claramente especificado el uso de los datosI Uso limitado. No se proporcionan a terceros sin permiso del

usuario o de la leyI Salvaguardado: niveles adecuados de proteccion y seguridadI Principio de apertura. Deberıa ser facil conocer que datos se

tienen de alguien, para que se usan...I Participacion individual. La consecuencia del anterior: facil

eliminar los datos, corregirlos, ...I Responsabilidad. El que tiene los datos es responsable del uso

que se haga de ellos.62612 Diseno de aplicaciones seguras. Fernando Tricas Garcıa. 25

Page 27: Fernando Tricas Garc awebdiis.unizar.es/~ftricas/Asignaturas/seguridadD/Transparenci... · Seguridad en bases de datos I Los propios gestores no tienen en cuenta estos aspectos I

OWASP Cryptographic Storage Cheat Sheet

‘OWASP Cryptographic Storage Cheat Sheet’http://www.owasp.org/index.php/Cryptographic_Storage_Cheat_Sheet

62612 Diseno de aplicaciones seguras. Fernando Tricas Garcıa. 26