El documento describe los conceptos clave de seguridad en bases de datos, incluyendo amenazas, contramedidas como autorización, controles de acceso, vistas, copias de seguridad e integridad. También explica el cifrado de datos y los privilegios en SQL para conceder y revocar acceso a objetos de base de datos.
1. Seguridad en Bases de Datos
Gestión de Datos / FRT UTN
Profesor: Raul Tejerizo
2013
2. Seguridad en Bases de Datos
• La Seguridad de la Base de Datos
se refiere a los mecanismos que
protegen a la base de datos de
amenazas, intencionales o
accidentales
3. Seguridad de la Base d Datos
• No se refiere solamente a los datos almace-
nados, sino también a otras situaciones que
pueden afectar a los mismos:
Robo y Fraude
Pérdida de Confidencialidad
Pérdida de Privacidad
Pérdida de Integridad
Pérdida de Disponibilidad
4. Amenazas
• Una Amenaza es cualquier situación o
suceso, intencionado o accidental, que
puede afectar adversamente a un sis-
tema y, consecuentemente, a la organi-
zación.
5. Contramedidas
• Las contramedidas para enfrentar a las
amenazas, son, entre otras, las
siguientes:
• Autorización
• Controles de Acceso
• Vistas
• Copias de Seguridad y Recuperación
• Integridad
• Cifrado
6. Autorización
• La Autorización es la concesión de un
derecho o privilegio que permite a una
persona acceder legítimamente a un
sistema o a un objeto del sistema
• El proceso de autorización implica la
Autenticación de los usuarios que
consiste en un mecanismo para
determinar si un usuario es quien
pretende ser.
7. Controles de Acceso
• Los controles de acceso se basan en la
concesión y revocación de privilegios.
• Un privilegio permite a un usuario crear o
acceder a algún objeto de la base de
datos
• Desde el punto de vista de la seguridad,
sólo deben concederse privilegios a un
usuario que realmente lo necesita.
8. Controles de Acceso
• Control de Acceso Discrecional (DAC,
Discretionary Access Control). Se basa en
el otorgamiento discrecional de privilegios.
• Tiene algunas debilidades, en cuanto un
usuario puede ser engañado para revelar
datos confidenciales.
• SQL soporta este mecanismos mediante
los comandos GRANT y REVOKE
9. Controles de Acceso
• Control de Acceso Obligatorio (MAC, Mandatory
Access Control). Se basa en políticas del
sistema que no pueden ser modificadas por
usuarios individuales.
• Cada objeto de la base de datos tiene una clase
de seguridad, cada usuario un nivel de
autorización para cada clase de seguridad y
existen reglas de lectura y escritura de objetos
por parte de los usuarios.
10. Vistas
• Una vista es una relación virtual que no existe
físicamente en la base de datos, sino que se
genera en el momento de la solicitud de datos,
como resultado de una o más operaciones
relacionales que operan sobre las tablas físicas.
• En materia de seguridad, se pueden ocultar
partes de la base de datos, sin que el usuario
tenga conciencia de la existencia de otros
atributos que no están presentes en la vista.
• En SQL se usa el comando CREATE VIEW
11. Copias de Seguridad y
Recuperación
• Copia de Seguridad: Proceso de realizar
una copia de la base de datos, del archivo
de registro, almacenando la copia en un
medio de almacenamiento fuera de línea.
• Registro: Proceso de mantener y alma-
cenar un registro de todos los cambios
realizados en la base de datos, con la
finalidad de poder efectuar una recupe-
ración en caso de fallo.
12. Integridad
• Restricciones de Integridad: contribuyen a
la seguridad al impedir que los datos
lleguen a ser inválidos y puedan conducir
a resultados erróneos o susceptibles de
ser mal interpretados.
13. Cifrado
• El cifrado consiste en la codificación de
los datos mediante un algoritmo especial
que hace que éstos no sean legibles por
quienes no dispongan la clave de des-
cifrado.
• Es muy útil para proteger datos confiden-
ciales o que sean transmitidos por
canales inseguros (ej. Internet)
14. Cifrado
• Un criptosistema comprende los
siguientes elementos:
Texto en
Claro
Texto en
Claro
Algoritmo
de Cifrado
Texto
Cifrado
Texto en
Claro
Algoritmo
de
Descifrado
Clave de
Cifrado
Clave de
Descifrado
15. Cifrado
• Técnicas de Cifrado:
- Cifrado Simétrico: utiliza la misma clave
para el cifrado como para el descifrado.
- Cifrado Asimétrico: utiliza diferentes claves
para el cifrado y para el descifrado.
Sistemas de clave pública y clave privada.
Utilizados para firma digital.
16. Privilegios en SQL
• Clausula GRANT (concede privilegios)
• GRANT Lista de Privilegios ON Nombre
Objeto TO Lista Usuarios [WITH GRANT
OPTION]
• Lista de Privilegios: SELECT, DELETE,
INSERT, UPDATE, entre otros. ALL
PRIVILEGES otorga todos los privilegios
17. Privilegios en SQL
• Clausula GRANT (continuación)
• Nombre del Objeto: tabla, vista, dominio.
• Lista de Usuarios: se deben enumerar los
usuarios autorizados. PUBLIC autoriza a
todos los usuarios presente y futuros.
• WITH GRANT OPTION: permite al
usuario transmitir a su vez a otros
usuarios los privilegios concedidos.
18. Privilegios en SQL
• Clausula REVOKE (revoca privilegios)
• REVOKE [GRANT OPTION FOR] Lista de
Privilegios ON Nombre Objeto FROM
Lista Usuarios [RESTRICT - CASCADE]
• Lista de Privilegios: SELECT, DELETE,
INSERT, UPDATE, entre otros. ALL
PRIVILEGES revoca todos los privilegios
otorgados
• Nombre del Objeto: tabla, vista, dominio.
19. Privilegios en SQL
• Clausula REVOKE (continuación)
• Lista de Usuarios: se deben enumerar los
usuarios autorizados. PUBLIC revoca los
privilegios a todos los usuarios.
• GRANT OPTION FOR: permite que los
privilegios pasados sean revocados de manera
separada.
• RESTRICT: no permite la revocación si se da el
caso de un objeto abandado.
• CASCADE: se ejecuta un DROP para los
objetos abandonados.