Seguridad - BASES DE DATOS

Download Report

Transcript Seguridad - BASES DE DATOS

“UNIVERSIDAD VERACRUZANA”
SISTEMAS COMPUTACIONALES
ADMINISTRATIVOS
MATERIA:BASE DE DATOS
MAESTRO:LUIS ALBERTO LÓPEZ CÁMARA
INTEGRANTES:
ELVIRA MALDONADO ELVIA NAYELY
GÓMEZ SANTIAGO JOEL
MADRID ILIZALITURRI EDUARDO ENRIQUE
MOLINA AGUILAR XIMENA PAOLA
ROSALES OREA JORGE ALBERTO
*SEGURIDAD*
La seguridad de los datos implica protegerlos
de operaciones indebidas que pongan en
peligro su definición, existencia, consistencia
e integridad independientemente de la
persona que los accede.
Esto se logra mediante mecanismos que
permiten estructurar y controlar el acceso y
actualización de datos.
El objetivo es proteger la Base de Datos contra
accesos no autorizados. Se llama también
privacidad.
*Incluye aspectos de:
Aspectos legales, sociales y éticos.
Políticas de la empresa, niveles de información pública
y privada.
Controles de tipo físico, acceso a las instalaciones.
Identificación de usuarios.
Controles de sistema operativos.
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.
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
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.
Tipos De Usuarios:
El DBA, tiene permitidas todas las operaciones,
conceder privilegios y establecer usuarios:
Usuario con derecho a crear, borrar y
modificar objetos y que además puede
conceder privilegios a otros usuarios sobre los
objetos que ha creado.
Usuario con derecho a consultar, o actualizar,
y sin derecho a crear o borrar objetos.
Un SMBD cuenta con un subsistema de
seguridad y autorización que se encarga de
garantizar la seguridad de porciones de la BD
contra el acceso no autorizado.
• Identificar y autorizar a los usuarios: uso de códigos
de acceso y palabras claves, exámenes, impresiones
digitales, reconocimiento de voz, barrido de la retina,
etc.
• Autorización: usar derechos de acceso dados por el
terminal, por la operación que puede realizar o por la
hora del día.
• Uso de técnicas de cifrado: para proteger datos en
Base de Datos distribuidas o con acceso por red o
internet.
• Diferentes tipos de cuentas: en especial del ABD con
permisos para: creación de cuentas, concesión y
revocación de privilegios y asignación de los niveles de
seguridad.
• Manejo de la tabla de usuarios con código y
contraseña, control de las operaciones efectuadas en
cada sesión de trabajo por cada usuario y anotadas en
la bitácora, lo cual facilita la auditoría de la Base de
Datos.
DISCRECIONAL
Se usa para otorgar y revocar privilegios a los
usuarios a nivel de archivos, registros o campos en un
modo determinado (consulta o modificación).
El ABD asigna el propietario de un esquema, quien
puede otorgar o revocar privilegios a otros usuarios
en la forma de consulta (select), modificación o
referencias. A través del uso de la instrucción
(grantoption) se pueden propagar los privilegios en
forma horizontal o vertical.
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!
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.
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.
Debilidades del Sistema Discrecional
OBLIGATORIA
Sirve para imponer seguridad de varios niveles tanto
para los usuarios como para los datos.
El problema de la seguridad consiste en lograr que los
recursos de un sistema sean, bajo toda circunstancia,
utilizados para los fines previstos. Para eso se utilizan
mecanismos de protección.
Los sistemas operativos proveen algunos mecanismos
de protección para poder implementar políticas de
seguridad. Las políticas definen qué hay que hacer, y los
mecanismos determinan cómo hay que hacerlo.
Otro aspecto importante de la seguridad, es el que tiene
que ver con el uso no autorizado de los recursos:
*Lectura de datos.
*Modificación de datos.
*Destrucción de datos.
*Uso de recursos.
*Ciclos de CPU, impresora, almacenamiento.
*Principios básicos para la seguridad.
Privilegios al usuario
•
•
•
•
•
•
•
•
Usar una B.D.
Consultar ciertos datos.
Actualizar datos.
Crear o actualizar objetos.
Ejecutar procedimientos almacenados.
Referenciar objetos.
Indexar objetos.
Crear identificadores.
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.
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 *)
"no read up, no write down"
Control de Acceso Mandatorio
Relaciones Multinivel
Id_objeto
Color
NombreObj
Clase
102
Marron
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.
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.