Вы находитесь на странице: 1из 9

Capítulo VI

Seguridad en Base de Datos


Introducción

El objetivo principal es proteger la base de datos de ataques maliciosos, sean estos internos o
externos.

Gran parte de los errores en cuanto a la seguridad en base de datos aun con el avance tecnológico
suele producirse por la falta de preocupación de los procedimientos sencillos que a la larga se
convierten en graves inconvenientes que afecta en lo concerniente a la seguridad, todo tiene que
quedar de acuerdo con lo planeado sin ninguna omisión por más mínima que sea, así como en la
instalación en el diseño o en el desarrollo, cualquier punto que se deje sin la preocupación debida que
no pude afectar en nada puede ser la entrada para los atacantes.

Otro punto que se tendrá que tomar en cuenta es la persona encargada del manejo del sistema ya que
por más elevado que sea un sistema de seguridad no podrá hacer nada ante los errores cometidos por
el factor humano.

Un ejemplo se pude dar en el caso de que un administrador de sistemas o redes no se preocupe por
técnicas de seguridad porque asume que el desarrollador de la aplicación web ya se ha encargado de
este proceso y a su vez el desarrollador piensa lo mismo por parte del administrador de sistemas. En
cambio el administrador de base de datos estará más preocupado por el correcto funcionamiento del
servicio de la base de datos.

En conclusión este problema se produce principalmente por la falta de preocupación en primer lugar de
la empresa, luego la ausencia de comunicación entre los encargados de cada proceso y por último la
falta de capacitación o conocimiento sobre la técnicas de seguridad.

6.1 Concepto de Seguridad de Bdatos

Seguridad Física
Las recomendaciones de seguridad física limitan de forma estricta el acceso al servidor físico y a los
componentes de hardware. Por ejemplo, use salas cerradas de acceso restringido para el hardware de
servidor de base de datos y los dispositivos de red. Además, limite el acceso a los medios de copia de
seguridad almacenándolos en una ubicación segura fuera de las instalaciones.

Seguridad del sistema operativo


Se refiere a todas las medidas de seguridad tomadas para proteger un sistema operativo, desde el
punto de vista de rede, agujeros, etc.

Los Service Packs y las actualizaciones del sistema operativo incluyen mejoras de seguridad
importantes. Aplique todas las revisiones y actualizaciones al sistema operativo después de probarlas
con las aplicaciones de base de datos.

Seguridad en la Base de Datos


Una amenaza se define como cualquier situación o suceso, intencionado o accidental, que pueda
afectar adversamente a un sistema y, consecuentemente, a la organización
Las áreas en las que puede presentarse una potencial amenaza son: hardware, Sistemas de gestión
de bases de datos (SGBD) y software de aplicación, redes de comunicaciones, base de datos,
usuarios, programadores/operadores, administrador de la base de datos

6.2 Amenazas a la BDatos

Privilegios excesivos e inutilizados. Cuando a alguien se le otorgan privilegios de base de datos que
exceden los requerimientos de su puesto de trabajo se crea un riesgo innecesario. Los mecanismos de
control de privilegios de los roles de trabajo han de ser bien definidos o mantenidos.

Abuso de Privilegios. Los usuarios pueden llegar a abusar de los privilegios legítimos de bases de
datos para fines no autorizados, por ejemplo, sustraer información confidencial. Una vez que los
registros de información alcanzan una máquina cliente, los datos se exponen a diversos escenarios de
violación.

Inyección por SQL. Un ataque de este tipo puede dar acceso a alguien y sin ningún tipo de restricción
a una base de datos completa e incluso copiar o modificar la información.

Malware y spear phising. Se trata de una técnica combinada que usan los cibercriminales, hackers
patrocinados por estados o espías para penetrar en las organizaciones y robar sus datos
confidenciales.

Auditorías débiles. No recopilar registros de auditoría detallados puede llegar a representar un riesgo
muy serio para la organización en muchos niveles.

Exposición de los medios de almacenamiento para backup. Éstos están a menudo desprotegidos,
por lo que numerosas violaciones de seguridad han conllevado el robo de discos y de cintas. Además,
el no auditar y monitorizar las actividades de acceso de bajo nivel por parte de los administradores
sobre la información confidencial puede poner en riesgo los datos.

Explotación de vulnerabilidades y bases de datos mal configuradas. Los atacantes saben cómo
explotar estas vulnerabilidades para lanzar ataques contra las empresas.

Datos sensibles mal gestionados. Los datos sensibles en las bases de datos estarán expuestos a
amenazas si no se aplican los controles y permisos necesarios.

Denegación de servicio (DoS). En este tipo de ataque se les niega el acceso a las aplicaciones de
red o datos a los usuarios previstos. Las motivaciones suelen ser fraudes de extorsión en el que un
atacante remoto repetidamente atacará los servidores hasta que la víctima cumpla con sus exigencias.

Limitado conocimiento y experiencia en seguridad y educación. Muchas firmas están mal


equipadas para lidiar con una brecha de seguridad por la falta de conocimientos técnicos para poner en
práctica controles de seguridad, políticas y capacitación.

6.3 Tipos de usuarios

DBA, están 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.

Privilegios sobre los objetos, añadir nuevos campos, indexar, alterar la estructura de los objetos, etc.
Los SGBD tienen opciones que permiten manejar la seguridad, tal como GRANT, REVOKE, etc.
También tienen un archivo de auditoria en donde se registran las operaciones que realizan los
usuarios.
DBA, son los encargados de establecer usuarios conceder permisos, puede crear borrar modificar
objetos creados por ellos, según el caso que se presente, también puede dar permisos a otros usuarios
sobre estos objetos creados.

6.4 Medidas de seguridad

Pueden ser:

 Físicas: Comprende el control de quienes acceden al equipo.


 Personal: Determinación del personal que tiene el acceso autorizado.
 SO: Técnicas que se establecen para proteger la seguridad del Sistema Operativo
 SGBD: Utilización de las herramientas que facilita el SGBD

Un Sistema Manejador de Base de Datos (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.

Subsistemas de Seguridad:

 Identificar y autorizar a los usuarios: Comprende los códigos de acceso y el uso de palabras
claves.
 Autorización: Comprende los datos ya permitidos para el acceso.
 Uso de técnicas de cifrado: Utilizada en bases de datos distribuidas o con acceso a la red o
Internet, para la protección de datos
 Diferentes tipos de cuentas
 Manejo de la tabla de usuario con código y contraseña: Para controlar el manejo de la
información de cada una de las tablas y determinar el responsable facilitando así el control de
auditorías.

Un factor de importancia en la seguridad de base de datos es el control de la información, que suele


perderse por distintos motivos ya sean errores de hardware, software o por fallas cometidas por los
usuarios por lo que es recomendable tener un respaldo de toda la información.

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 grant
option se pueden propagar los privilegios en forma horizontal o vertical.

Ejemplo: grant select on Empleado to códigoUsuario

revoke select on Empleado from códigoUsuario

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 (qué datos y recursos deben protegerse de
quién; es un problema de administración), y los mecanismos determinan cómo hay que hacerlo. Esta
separación es importante en términos de flexibilidad, puesto que las políticas pueden variar en el
tiempo y de una organización a otra. Los mismos mecanismos, si son flexibles, pueden usarse para
implementar distintas políticas.

Un aspecto importante de la seguridad es el de impedir la pérdida de información, la cual puede


producirse por diversas causas: fenómenos naturales, guerras, errores de hardware o de software, o
errores humanos. La solución es una sola: mantener la información respaldada, de preferencia en un
lugar lejano.

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.

6.5 Principios básicos para la seguridad

 Suponer que el diseño del sistema es público.


 El defecto debe ser: sin acceso.
 Chequear permanentemente.
 Los mecanismos de protección deben ser simples, uniformes y construidos en las capas más
básicas del sistema.
 Los mecanismos deben ser aceptados sicológicamente por los usuarios.

SEGURIDAD: Fallos lógicos o físicos que destruyan los datos.

 Evitar pérdidas de datos por fallos hardware o software (fallo disco, etc.). Normalmente suelen
ser fallos de disco o pérdida de memoria RAM.
 Aparte del punto de vista de los SGBD, intervienen otros niveles (ej: discos replicados, etc.)
 A pesar de estos posibles fallos la base de datos debe quedar siempre en un estado
consistente.
 El concepto de seguridad, según Date (1992), se puede entender como la protección de los
datos contra acceso, alteración o destrucción no autorizados.

LAS TRES PRINCIPALES CARACTERÍSTICAS DE LA SEGURIDAD

Que se deben mantener en una base de datos son la confidencialidad, la integridad y la


disponibilidad de la información. - Los datos contenidos en una Base de Datos pueden ser
individuales o de una Organización. Sean de un tipo o de otro, a no ser que su propietario lo autorice,
no deben ser desvelados. Si esta revelación es autorizada por dicho propietario la confidencialidad se
mantiene. Es decir, asegurar la confidencialidad significa prevenir/ detectar/ impedir la revelación
impropia de la información.

6.6 La seguridad (fiabilidad) del sistema

Se lo puede medir en los siguientes aspectos:

 Es necesario proteger a los sistemas de los ataques externos.


 Controlar los fallos o caídas del software o equipo.
 Controlar el manejo del administrador frente a errores que se pueden cometer.
Ya que todos los sistemas de base de datos están expuestos a múltiples ataques es necesario cumplir
estos aspectos contemplados aquí a fin de poder reducir en grado de vulnerabilidad. También es
necesario establecer los protocolos que se deben cumplir para su correcta aplicación.

La seguridad de los datos se refiere a la protección de estos contra el acceso por parte de las personas
no autorizadas y contra su indebida destrucción o alteración.

El analista de sistemas que se hace responsable de la seguridad debe estar familiarizado con todas las
particularidades del sistema, porque este puede ser atacado con fines ilícitos desde muchos ángulos. A
veces se presta mucha atención a alguno de los aspectos del problema mientras se descuidan otros.

Donde están los intrusos

Existen ataques externos que son detectados y controlados por el firewall, pero aquí no termina el
problema, de igual forma existen ataques internos, donde se le permite al usuario acceder libremente a
la base de datos sin ningún tipo de protección suponiendo que el usuario no actuara con malas
intenciones sobre el contenido almacenado y de esta forma comienzan un laberinto de problemas.

Diferentes tipos de ataques

Se los pude clasificar como:

 Ataques que no requieren autenticación


 Ataques que requieren autenticación

ATAQUES QUE NO REQUIEREN AUTENTICACION: Son los más comunes ya que no se necesita de
ninguna contraseña o clave, aquí tenemos las explotaciones de buffer overflow como las más
presentes.

Otra técnica que se encuentra en este misma clasificación es la que se pretende obtener una clave de
acceso al sistema adivinando y los ataques de fuerza fruta o diccionario.

ATAQUES QUE REQUIEREN AUTENTICACION: Este tipo de ataques son lanzados por personas que
tienes las claves de acceso obtenidas de formas generalmente ilícitas, este tipo de ataque suele tener
un grado mayor de riesgo ya que se tiene mas acceso, un ejemplo de este tipo de ataques es el de la
explotación de los buffer overflows en procedimientos almacenados.

6.7 Metodología

Puntos que se deben tomar en cuenta al momento que se requiere realizar un test de penetración a un
servidor de base de datos:

 Adquisición
 Fingerprinting/Sondeo/Descubrimiento
 Obtención de acceso
 Estalación de privilegios
 Compromiso total del host

Tareas que se deben tomar en cuenta al realizar una auditoria detallada:

 Seguridad física
 Políticas y procedimiento
 Seguridad a nivel de file system
 Seguridad de entorno
 Stored procedures
 Passwords

Los servidores de base de datos ofrecen servicios de conexión los cuales deben ser controlados, pues
son un punto de ataque. Los puertos en Oracle son 1521/tcp, Sql Server utiliza puertos 1433/tcp y
1434/udp.

En el año 2003 fue detectado uno de los gusanos llamado Sapphire, este era uno de los virus
infecciosos más rápidos que atacaba a versiones no parchadas de Sql Server.

Entre los factores que contribuyeron a la infección tenemos: los administradores no aplicaban parques
correspondientes, cierta incapacidad por parte de Microsoft en servicios automáticos update y la falta
de control en el port 1434/udp.

El puerto 1434/udp viene habilitado por defecto en toda instalación Sql server 2000 que se lo utiliza
para diferentes actividades, y simplemente el hecho de bloquearlo hubiera sido necesario para
controlar un ataque infeccioso. Una de las causas es que se cree que al no estar habilitado este puerto
no funcionara bien el servicio de Sql Server, relativamente esto es falso ya que se puede trabajar
normalmente si se bloquea este tipo de puerto.

6.8 Los siguientes siete requisitos son esenciales para la seguridad de la base de datos:

 La base de datos debe ser protegida contra el fuego, el robo y otras formas de destrucción.
 Los datos deben ser reconstruibles, porque por muchas precauciones que se tomen, siempre
ocurren accidentes.
 Los datos deben poder ser sometidos a procesos de auditoria. La falta de auditoria en los
sistemas de computación ha permitido la comisión de grandes delitos.
 El sistema debe diseñarse a prueba de intromisiones. Los programadores, por ingeniosos que
sean, no deben poder pasar por alto los controles.
 Ningún sistema puede evitar de manera absoluta las intromisiones malintencionadas, pero es
posible hacer que resulte muy difícil eludir los controles. El sistema debe tener capacidad para
verificar que sus acciones han sido autorizadas. Las acciones de los usuarios deben ser
supervisadas, de modo tal que pueda descubrirse cualquier acción indebida o errónea.

6.9 Servicios de seguridad

Autenticación: Abarca la información referente a la interfaz Security Support Provider Interface (SSPI)
para acceder a los servicios de seguridad del sistema operativo. Ejemplo: el protocolo Kerberos en
Windows 2000 para la autenticación de red.

Sistema de archivos encriptado: (Encrypted File System − EFS) Permite la encriptación de archivos
que luego serán almacenados en el disco.

Seguridad IP: (Windows IP Securitry) se lo utiliza para la defensa y protección de las redes.

Servicios de seguridad Windows x: Tiene como función examinar los procedimientos de gestión de
cuentas, autenticación de red.
Tarjetas inteligentes: Utilizadas para examinar los procesos de autenticación

Tecnología de claves públicas: Consiste en revisar la infraestructura de la clave incluida en los


sistemas operativos de Microsoft y además nos proporciona información concerniente a criptografía.

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 BD distribuidas o con acceso por red o
internet.
 Diferentes tipos de cuentas: en especial la 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 BD.

Problemas de seguridad.
 La información de toda empresa es importante, aunque unos datos lo son más que otros, por
tal motivo se debe considerar el control de acceso a los mismos, no todos los usuarios pueden
visualizar alguna información, por tal motivo para que un sistema de base de datos sea
confiable debe mantener un grado de seguridad que garantice la autenticación y protección de
los datos. En un banco por ejemplo, el personal de nóminas sólo necesita ver la parte de la
base de datos que tiene información acerca de los distintos empleados del banco y no a otro
tipo de información.

Identificación y autentificación

En un SGBD existen diversos elementos que ayudan a controlar el acceso a los datos.

Aquí describiremos algunas de las formas de identificación y autentificación:

 Código y contraseña.
 Identificación por hardware.
 Características bioantropométricas.
 Conocimiento, aptitudes y hábitos del usuario.
 Información predefinida(Aficiones, cultura)

Es necesario que se especifique las actividades que podrá realizar el usuario sobre la base de datos.

 Crear
 Modificar
 Eliminar
 Indexar
 Referenciar
 Borrar
 Ejecutar procedimientos almacenados
Mecanismos de autenticación

La autentificación, que consiste en identificar a los usuarios que entran al sistema, se puede basar en
posesión (llave o tarjeta), conocimiento (clave) o en un atributo del usuario (huella digital).

 Claves: Se utiliza este tipo de autentificación para elevar el nivel de seguridad, son fáciles de
comprender y utilizar. Utiliza 7 caracteres en el que el propósito es crear una clave difícil de
descifrar por parte de extraños difícilmente esto se aplica ya que los usuarios generalmente suelen
utilizar claves de fácil acceso y esto es aprovechado por quienes desean accedes al sistema de
manera ilícita. Por ejemplo, en UNIX, existe un archivo /etc/passwd donde se guarda los nombres
de usuarios y sus claves, cifradas mediante una función one-way F. El programa login pide nombre
y clave, computa F (clave), y busca el par (nombre, F (clave)) en el archivo.
En definitiva, el sistema no tiene ninguna garantía de que quien hizo login es realmente el
usuario que se supone que es.
 Identificación física: En este tipo de autentificación se contemplan el uso de elementos físicos
como tarjetas de identificación adicionalmente se acompañan de códigos. Existen otros tipos que
añaden características humanas como el tono de voz, huella dactilar entre otros.

Algunas medidas básicas:


 Demorar la respuesta ante claves erróneas; aumentar la demora cada vez. Alertar si hay
demasiados intentos.
 Registrar todas las entradas. Cada vez que un usuario entra, chequear cuándo y desde dónde
entró la vez anterior.
 Hacer chequeos periódicos de claves fáciles de adivinar, procesos que llevan demasiado
tiempo corriendo, permisos erróneos, actividades extrañas (por ejemplo cuando usuario está de
vacaciones).

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 BD distribuidas o con acceso por red o
internet.
 Diferentes tipos de cuentas: en especial la 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 BD.

Referencias

Seguridad e integridad de la BDatos. http://virtual.usalesiana.edu.bo/web/conte/archivos/2397.pdf

Seguridad de SQL Server.


https://docs.microsoft.com/es-es/dotnet/framework/data/adonet/sql/sql-server-security
Esquema de seguridad de una bdatos.
https://coggle.it/diagram/WuKfM1d3uN913KjA/t/seguridad-base-de-638-esquemas-de-seguridad-de-
base-de-datos

Administración de Bdatos. http://www.geocities.ws/jpvalenzuelac/ads/ii.html

Seguridad en base de datos. https://html.rincondelvago.com/seguridad-en-bases-de-datos.html

Вам также может понравиться