Está en la página 1de 31

Centro de Teleinformática y Producción Industrial - Regional Cauca Pág.

1 de 31
Número de Fecha de Creación:
DOC-ESPSRD-012 Preparado por: Esp. Henry Bastidas
Documento: 31/07/2015
Nombre del Documento: Seguridad en Bases de Datos

Seguridad en Bases de Datos

Historial
Fecha Razón de cambio (s) Autor(es)

Documento Inicial Ing. Henry Bastidas


31/07/2015

Contenido Documento

La gran mayoría de los datos sensibles del mundo están almacenados en sistemas gestores de bases de
datos comerciales tales como Oracle, Microsoft SQL Server entre otros, y no comerciales o de uso
gratuito como MySQL, PotgresQL, entre otros, atacar una bases de datos es uno de los objetivos
favoritos para los criminales.

Especialización Tecnológica en Seguridad en Redes Página 1


Centro de Teleinformática y Producción Industrial - Regional Cauca Pág. 2 de 31
Número de Fecha de Creación:
DOC-ESPSRD-012 Preparado por: Esp. Henry Bastidas
Documento: 31/07/2015
Nombre del Documento: Seguridad en Bases de Datos

Índice

Historial ............................................................................................................................................ 1
Contenido Documento...................................................................................................................... 1
Introducción ..................................................................................................................................... 3
Conceptos básicos sobre bases de datos ........................................................................................... 4
Tipos de Bases de datos ................................................................................................................... 4
Modelos de bases de datos. .............................................................................................................. 5
Modelo Entidad Relación. ................................................................................................................ 7
Modelo Relacional ........................................................................................................................... 9
Modelo Orientado a Objetos. ......................................................................................................... 10
Bases de datos avanzadas ............................................................................................................... 13
Bases de datos Cliente Servidor. .................................................................................................... 13
Bases de datos Distribuidas. ........................................................................................................... 14
Bases de datos Web. ....................................................................................................................... 15
Bodegas de datos. ........................................................................................................................... 17
Seguridad de Base de Datos. .......................................................................................................... 19
Configuración de control y administración de una base de datos. ................................................. 19
Técnicas y Procedimientos para la Seguridad de los Datos. .......................................................... 20
Técnicas para la protección de Tablas............................................................................................ 21
Técnicas para la protección en Bases de Datos .............................................................................. 22
Administración de la Seguridad en el Acceso a los Datos. ............................................................ 22
Características del Sistema de Seguridad. ...................................................................................... 23
Seguridad de la Base de Datos. ...................................................................................................... 23
Seguridad en el Sistema Gestor de bases de datos. ........................................................................ 24
Copias de seguridad. ...................................................................................................................... 25
Creación de Usuarios, Permisos y Privilegios sobre la Base de Datos. ......................................... 27
Análisis de Riesgos de bases de Datos. .......................................................................................... 28
Recomendaciones de Seguridad en las Bases de datos .................................................................. 30

Especialización Tecnológica en Seguridad en Redes Página 2


Centro de Teleinformática y Producción Industrial - Regional Cauca Pág. 3 de 31
Número de Fecha de Creación:
DOC-ESPSRD-012 Preparado por: Esp. Henry Bastidas
Documento: 31/07/2015
Nombre del Documento: Seguridad en Bases de Datos

Introducción

El contenido del curso Seguridad en bases de datos está construido con información conceptual y
contextual referente a los diferentes modelos y estándares que se aplican a la seguridad informática.

La gran mayoría de los datos sensibles del mundo están almacenados en sistemas gestores de bases de
datos comerciales tales como Oracle, Microsoft SQL Server entre otros, y atacar una bases de datos es
uno de los objetivos favoritos para los criminales.

Esto puede explicar por qué los ataques externos, tales como inyección de SQL, subieron 345% en 2009,
“Esta tendencia es prueba adicional de que los agresores tienen éxito en hospedar páginas Web
maliciosas, y de que las vulnerabilidades y explotación en relación a los navegadores Web están
conformando un beneficio importante para ellos”

Para empeorar las cosas, según un estudio publicado en febrero de 2009 The Independent Oracle Users
Group (IOUG), casi la mitad de todos los usuarios de Oracle tienen al menos dos parches sin aplicar en
sus manejadores de bases de datos.

Mientras que la atención generalmente se ha centrado en asegurar los perímetros de las redes por
medio de, firewalls, IDS / IPS y antivirus, cada vez más las organizaciones se están enfocando en la
seguridad de las bases de datos con datos críticos, protegiéndolos de intrusiones y cambios no
autorizados.

En las siguientes secciones daremos las siete recomendaciones para proteger una base de datos en
instalaciones tradicionales.

Especialización Tecnológica en Seguridad en Redes Página 3


Centro de Teleinformática y Producción Industrial - Regional Cauca Pág. 4 de 31
Número de Fecha de Creación:
DOC-ESPSRD-012 Preparado por: Esp. Henry Bastidas
Documento: 31/07/2015
Nombre del Documento: Seguridad en Bases de Datos

Conceptos básicos sobre bases de datos

Conceptos de Bases de Datos.

Una base de dato de forma abreviada bajo la sigla BD, es definida como un conjunto de datos
debidamente organizada, los cuales puede ser consultada en cualquier momento, por ejemplo, una
directorio telefónico puede ser considerado como una base de datos, un directorio telefónico, en su
mayoría está compuesto por un listado de personas con sus números telefónicos impresos en papel e
indexados para su consulta. En la Actualidad como consecuencia del desarrollo tecnológico en áreas de
la informática y la electrónica, gran parte de las bases de datos ya se encuentran en formato digital
(electrónico), ofreciendo solución a los problemas de almacenamiento y recuperación de los datos.

En términos generales una base de datos se puede definir como una recopilación de información, en la
cual, se puede almacenar datos sobre diversos aspectos tales como: personas, productos, pedidos, etc.

Algunas de las bases de datos inician siendo básicamente una lista en un programa de procesamiento de
texto o en una hoja de cálculo a medida que aumenta dicha lista, comienzan a presentarse repeticiones e
inconsistencias en los datos, haciendo cada vez más complicado comprender la información presentada
en la lista y dificultando los métodos para buscar o recuperar subconjuntos de datos. Cuando empiezan a
observarse estas dificultades, es aconsejable transferir la información a una base de datos creada
mediante un sistema de administración de bases de datos (DBMS).

En una base de datos sistematizada se puede encontrar más de una tabla. Por ejemplo, en un sistema de
inventario que utiliza tres tablas, no es un conjunto de tres bases de datos, sino una sola base de datos
que contiene tres tablas. Excepto si se ha diseñado específicamente para utilizar datos o código de otro
origen, una base de datos almacena sus tablas en un solo archivo, junto con sus otros objetos.

En conclusión en la actualidad, es claro que uno de los activos de mayor valor para muchas
organizaciones es la información y en tal sentido asumen una significativa importancia las acciones
tendientes a garantizar su permanencia en el tiempo con un nivel de acceso controlable y seguro, lo cual
se logra a través de una base de datos bien concebida.

Existen muchas formas para clasificar las bases de datos, se pueden tener en cuenta aspectos tales
como el contexto manejado, la utilidad o las necesidades a satisfacer, para el caso se clasifican según la
variabilidad de los datos almacenados y según su contenido.

Tipos de Bases de datos

 Según variabilidad de los datos almacenados.

Bases de datos estáticas: Estas bases de datos son de sólo lectura, se utilizan principalmente en
el almacenamiento de datos históricos, los cuales posteriormente se pueden utilizar en el estudio
del comportamiento de un conjunto de datos a través del tiempo, con miras de realizar
proyecciones, tomar decisiones y análisis de datos para inteligencia empresarial.

Bases de datos dinámicas: Éstas son bases de datos donde la información almacenada es
modificada con el tiempo, en operaciones de consulta, actualización, modificación, borrado y

Especialización Tecnológica en Seguridad en Redes Página 4


Centro de Teleinformática y Producción Industrial - Regional Cauca Pág. 5 de 31
Número de Fecha de Creación:
DOC-ESPSRD-012 Preparado por: Esp. Henry Bastidas
Documento: 31/07/2015
Nombre del Documento: Seguridad en Bases de Datos

adición de los datos. Por ejemplo, la base de datos utilizada en un sistema de información de un
supermercado, un almacén de calzado, una empresa, entre otros.

 Según el contenido.

Bases de datos bibliográficas: Estas bases de datos contienen un subrogante (representante) de


la fuente primaria, el cual permite su localización. En este tipo de base de datos un registro típico
de una base de datos bibliográfica suministra información sobre el autor, la fecha de publicación,
la editorial, el título, la edición, de una determinada publicación. También puede contener un
pequeño resumen o extracto de la publicación original, pero no el texto completo, pues de lo
contrario, sería una base de datos a texto completo (o de fuentes primarias). Como lo indica su
nombre, el contenido son cifras o números. Por ejemplo, una colección de resultados de análisis
de laboratorio.

Bases de datos de texto completo: Estas bases de datos almacenan las fuentes primarias, por
ejemplo, todo el contenido de las ediciones de una colección de revistas.

Directorios: Un claro ejemplo de este tipo de bases de datos son las guías telefónicas en formato
electrónico.

Bases de datos o "bibliotecas" de información química o biológica: Son bases de datos que
almacenan información proveniente de la química, las ciencias de la vida o médicas. Se pueden
clasificar en varios subtipos:
o Las que almacenan secuencias de nucleótidos o proteínas.
o Las bases de datos de rutas metabólicas.
o Bases de datos de estructura, comprende los registros de datos experimentales
o sobre estructuras 3D de biomolecular.
o Bases de datos clínicas.
o Bases de datos bibliográficos (biológicos, químicos, médicos y de otros campos): por
ejemplo Medline, EBSCOhost, PubChem, entre otras.

Modelos de bases de datos.

Al igual que la clasificación realizada según la función de las bases de datos, éstas también se pueden
clasificar teniendo en cuenta su modelo de administración de datos. Un modelo de datos es una
descripción de un contenedor de datos (algo en donde se guarda la información), así como también de
los métodos para almacenar y recuperar dicha información de esos contenedores. Aclarando que los
modelos de datos no son elementos físicos: se consideran abstracciones que permiten la implementación
de un eficiente sistema de una base de datos; por lo general esto se refieren a algoritmos y conceptos
matemáticos.

Algunos de los modelos utilizados frecuentemente en las bases de datos son:

Bases de datos jerárquicas: Este modelo organiza los datos en una forma similar a un árbol visto
al revés, donde un nodo padre de información puede tener varios hijos. Un nodo que no cuenta
con padres es llamado raíz, y a los nodos que no tienen hijos se los denomina como hojas.

Especialización Tecnológica en Seguridad en Redes Página 5


Centro de Teleinformática y Producción Industrial - Regional Cauca Pág. 6 de 31
Número de Fecha de Creación:
DOC-ESPSRD-012 Preparado por: Esp. Henry Bastidas
Documento: 31/07/2015
Nombre del Documento: Seguridad en Bases de Datos

Las bases de datos jerárquicas son utilizadas en el caso de aplicaciones que manejan gran
volumen de información y gran cantidad de datos compartidos, permitiendo así crear estructuras
estables y de muy buen rendimiento. Una de las principales limitaciones del modelo es su
incapacidad de representar eficientemente la redundancia de datos.

Base de datos de red: Es un modelo un poco distinto del jerárquico; la diferencia fundamental es
la modificación del concepto de nodo, ya que es permitido que un mismo nodo tenga varios
padres, lo cual no es permitido en el modelo jerárquico. Esto se presenta como una mejora con
respecto al modelo jerárquico, ofreciendo una solución al problema de redundancia de datos; aun
así, la gran dificultad que significa administrar la información en una base de datos de red ha
significado que el modelo sea utilizado en su mayoría por programadores más que por usuarios
finales.

Bases de datos transaccionales: Son bases de datos desarrolladas con el fin del envío y
recepción de datos a grandes velocidades, este tipo de bases de datos son poco comunes y
están orientadas por lo general al entorno de análisis de procesos de calidad, datos de
producción e industrial, es importante aclarar que el fin único es recolectar y recuperar los datos a
la mayor velocidad posible, por tanto en este caso la redundancia y duplicación de información no
es un problema como con en otras bases de datos, en algunos casos para aprovecharlas al
máximo permiten algún tipo de conectividad a bases de datos relacionales. Por ejemplo es el
traspaso de una cantidad de dinero entre cuentas bancarias, lo cual habitualmente se realiza
mediante dos operaciones, una en la que cual se disminuye el saldo de la cuenta origen y otra en
la cual se incrementa el saldo de la cuenta destino. En este caso se debe garantizar la
atomicidad del sistema, es decir, que no aparezca o desaparezca dinero, las operaciones deben
ser atómicas, el sistema debe garantizar bajo cualquier circunstancia, incluso una caída del
sistema, el resultado final es la realización de las dos operaciones, o bien la no realización de
ninguna.

Bases de datos relacionales: Éste es el modelo utilizado actualmente para modelar problemas de
la realidad y administrar datos de forma dinámica. Su presentación en 1970 fue realizada por
Edgar Frank Codd; la idea fundamental es el uso de "relaciones"; dichas relaciones pueden
considerarse en forma lógica como conjuntos de datos llamados tuplas; se debe pensar en cada
relación como si fuese una tabla que está compuesta por registros (los registros son las filas de
una tabla), que representarían las tuplas, y como campos (las columnas de una tabla).

A diferencia de otros modelos el lugar y la forma en que se almacenen los datos no tienen
relevancia, como en el modelo jerárquico y el de red, esto genera una considerable ventaja pues
es más fácil de entender y de uti lizar para un usuario esporádico de la base de datos. La
información puede ser recuperada o almacenada mediante consultas, ofreciendo una amplia
flexibilidad y poder para administrar la información.

Para realizar las consultas a bases de datos relacionales el lenguaje más utilizado es SQL
(Structured Query Language o Lenguaje Estructurado de Consultas), el cual es un estándar
implementado por los principales motores o sistemas de gestión de bases de datos relacionales.

Bases de datos multidimensionales: Este modelo es utilizado para bases de datos ideadas para
desarrollar aplicaciones muy concretas, como por ejemplo la creación de Cubos OLAP. No tienen
mucha diferencia de las bases de datos relacionales, la diferencia está más dada a nivel
conceptual; en estas bases de datos los campos o atributos de una tabla pueden ser de dos
tipos, o bien representan dimensiones de la tabla, o bien representan métricas que se desean

Especialización Tecnológica en Seguridad en Redes Página 6


Centro de Teleinformática y Producción Industrial - Regional Cauca Pág. 7 de 31
Número de Fecha de Creación:
DOC-ESPSRD-012 Preparado por: Esp. Henry Bastidas
Documento: 31/07/2015
Nombre del Documento: Seguridad en Bases de Datos

estudiar.

Bases de datos orientadas a objetos: Es un modelo reciente el cual se origina en los modelos
informáticos orientados a objetos, se trata de almacenar en la base de datos los objetos
completos (estado y comportamiento). Este tipo de base de datos incorpora todos los conceptos
importantes del paradigma de objetos tales como:

o Encapsulación: Es la propiedad con la cual permite ocultar la información al resto de los


objetos, impidiendo así accesos incorrectos o conflictos.
o Herencia: Esta Propiedad permite a los objetos heredan comportamiento dentro de una
jerarquía de clases.
o Polimorfismo: Propiedad de una operación con la cual puede ser aplicada a distintos
tipos de objetos En este tipo de bases de datos, los usuarios pueden definir operaciones
sobre los datos como parte de la definición de la base de datos. Una operación que es
llamada función, se especifica en dos partes; la interfaz o signatura de una operación
incluye el nombre de la operación y los tipos de datos de sus argumentos o parámetros.
La implementación o método de la operación se especifica separadamente y puede
modificarse sin afectar la interfaz. Los programas de aplicación de los usuarios pueden
operar sobre los datos invocando a dichas operaciones a través de sus nombres y
argumentos, sea cual sea la forma en la que se han implementado. Esto podría
denominarse independencia entre programas y operaciones.

Bases de datos documentales: Este tipo de base de datos permite la indexación a texto completo,
con lo cual se pueden realizar búsquedas más potentes. Por ejemplo Tesaurus es un sistema de
índices optimizado para este tipo de bases de datos.

Bases de datos deductivas: Es un sistema de base de datos con la diferencia que permite hacer
deducciones a través de inferencias, basada en reglas y hechos los cuales son almacenados en
la base de datos. Son también denominadas bases de datos lógicas, como consecuencia de que
se basan en lógica matemática. Este tipo de base de datos surge debido a las limitaciones de la
Base de Datos Relacional de responder a consultas recursivas y de deducir relaciones indirectas
de los datos almacenados en la base de datos.

Modelo Entidad Relación.

Este modelo se basa en una percepción del mundo real, consta de una colección de objetos básicos, los
cuales son llamados entidades, y sus respectivas relaciones entre estos objetos; se denomina entidad a
una «cosa» u «objeto» del mundo real el cual se puede distinguir de otros objetos. El modelo fue
desarrollado para facilitar el diseño de bases de datos, se encuentra dentro de los diferentes modelos de
datos semánticos; el aspecto semántico del modelo se evidencia en la representación del significado de
los datos.

El modelo E-R es extremadamente útil para hacer corresponder los significados e interacciones de las
empresas del mundo real con un esquema conceptual.

Debido a esta utilidad, muchas herramientas de diseño de bases de datos se basan en los conceptos del
modelo E-R.

Especialización Tecnológica en Seguridad en Redes Página 7


Centro de Teleinformática y Producción Industrial - Regional Cauca Pág. 8 de 31
Número de Fecha de Creación:
DOC-ESPSRD-012 Preparado por: Esp. Henry Bastidas
Documento: 31/07/2015
Nombre del Documento: Seguridad en Bases de Datos

Como ya se mencionó el modelo E/R parte de una situación real a partir de la cual se definen entidades y
sus relaciones entre dichas entidades:
Entidad: Objeto o cosa del mundo real sobre el cual se almacenara información, por ejemplo una
persona. Cada entidad está compuesta de atributos que son los datos que definen el objeto, para
el caso de la entidad persona serían CC, nombre, apellidos, dirección, entre otros. De todos los
atributos habrá uno o un conjunto de ellos que no se repite; a este atributo o conjunto de atributos
se le llama clave de la entidad, en el caso de la entidad persona una posible clave seria CC. En
toda entidad siempre se encuentra una clave, que en el peor de los casos estará formada por
todos los atributos de la tabla. Ya que pueden haber varias claves y necesitamos elegir una, se
hará atendiendo a estas normas:

o Que sea única.


o Que se tenga pleno conocimiento de ella.
o Que sea mínima.

Relación: Es la asociación entre entidades, sin existencia en el mundo real que estamos
modelando, pero de mucha necesidad para reflejar las interacciones existentes entre entidades.
Las relaciones pueden ser de tres tipos:
o Relaciones 1-1. Las entidades que intervienen en la relación se asocian una a una (Ej: la
entidad HOMBRE, la entidad MUJER y entre ellos la relación MATRIMONIO).
o Relaciones 1-n. Una ocurrencia de una entidad está asociada con muchas (n) de otra (Ej:
la entidad EMPERSA, la entidad TRABAJADOR y entre ellos la relación TRABAJAR-EN).
o Relaciones n-n. Cada ocurrencia, en cualquiera de las dos entidades de la relación,
puede estar asociada con muchas (n) de la otra y viceversa (Ej: la entidad ALUMNO, la
entidad EMPRESA y entre ellos la relación MATRÍCULA).

En la representación gráfica del modelo E/R se utilizan los siguientes elementos gráficos:

Ilustración 1: Formas para representar el modelo E/R

El resultado de la utilización dará lo que se denomina el esquema entidad-relación de la base de datos.


Por ejemplos gráficamente quedarían como sigue:

Especialización Tecnológica en Seguridad en Redes Página 8


Centro de Teleinformática y Producción Industrial - Regional Cauca Pág. 9 de 31
Número de Fecha de Creación:
DOC-ESPSRD-012 Preparado por: Esp. Henry Bastidas
Documento: 31/07/2015
Nombre del Documento: Seguridad en Bases de Datos

Ilustración 2: Ejemplo de representación el modelo E/R.

Modelo Relacional

Las bases de datos relacionales son el tipo de bases de datos actualmente más difundido. Los motivos
de este éxito son fundamentalmente dos: el primero que ofrecen sistemas simples y eficaces para
representar y manipular los datos. Como segundo se basan en un modelo, el relacional, con sólidas
bases teóricas.

La estructura fundamental del modelo relacional es precisamente esa la relación, es decir una tabla
bidimensional constituida por líneas llamadas tuplas y las columnas se denominan atributos. Las
relaciones representan las entidades que se consideran interesantes en la base de datos. Cada instancia
de la entidad encontrará sitio en una tupla de la relación, mientras que los atributos de la
relación representarán las propiedades de la entidad. Por ejemplo, si en la base de datos se tienen que
representar personas, se podrá definir una relación llamada "Personas", cuyos atributos describen las
características de las personas tales como Numero de documento, nombres, apellidos, fecha de
nacimiento, estado civil, entre otro. Cada tupla de la relación para el caso Personas, representará una
persona concreta. En conclusión el modelo relacional está basado en la relación como elemento básico y
puede ser representado como una tabla según se muestra en la figura siguiente:

Ilustración 3: Representación en tabla del M/E.

En la figura se observa su nombre, un conjunto de columnas, denominadas atributos, que representan


propiedades de la tabla y también caracterizadas por su nombre, y un conjunto de filas llamadas tuplas,
que contienen los valores que toma cada uno de los atributos para cada elemento de la relación.

Especialización Tecnológica en Seguridad en Redes Página 9


Pág. 10 de
Centro de Teleinformática y Producción Industrial - Regional Cauca
31
Número de Fecha de Creación:
DOC-ESPSRD-012 Preparado por: Esp. Henry Bastidas
Documento: 31/07/2015
Nombre del Documento: Seguridad en Bases de Datos

Ilustración 4: Formas para representar el modelo E/R.

La figura representa la relación PROFESOR, donde aparece la estructura del modelo relacional. En ella
se puede observar el nombre de la relación (PROFESOR); los atributos (código, nombre, apellidos,
categoría); los dominios de donde los atributos toman sus valores, permitiendo que varios atributos
pueden tomar valores del mismo dominio; las tuplas, cada una de las cuales contiene los valores que
toma el código, nombre, apellidos, etc.; el grado, número de atributos y la cardinalidad que representa el
número de tuplas.

Modelo Orientado a Objetos.


Este modelo está basado en conceptos orientados a objetos (OO); la orientación a objetos se determina
con un conjunto de principios de diseño y desarrollo basados en estructuras de computadores
conceptualmente autónomas denominados como objetos. Cada objeto hace la representación de una
entidad del mundo real con la capacidad de actuar consigo misma y de interactuar con otros objetos. Con
este concepto, las bases de datos orientadas a objetos (OODB) están diseñadas para capturar los datos
de un sistema de negocio, que puede ser considerado como un conjunto de objetos que interactúan entre
sí.

Para las OODB no ha existido un único modelo de datos, sino que cada autor ha adoptado un modelo
diferente. El modelo orientado a objetos (OODM) que aquí se trata tiene mucho en común con los
modelos de datos relacionales o E-R, pero, también tiene algunas diferencias fundamentales. El resumen
siguiente está diseñado para ofrecer algunas comparaciones detalladas que aclaran las características de
OODM que se presenta en este apartado.

El concepto OODM de objeto va más allá del concepto de entidad o tupla en otros modelos de datos. Un
objeto OODM tiene características adicionales a las de las entidades o tuplas, como comportamiento,
herencia y encapsulado. Tales características OODM hacen que el modelado OO sea más natural que el
modelado E-R y relacional. De hecho, los modelos E-R y relacionales a menudo obligan al diseñador a
crear entidades nuevas artificiales para representar entidades reales.

Los objetos son descritos por sus atributos, conocidos como variables de instancia en un ambiente OO.
Cada atributo tiene un nombre único y un tipo de datos asociado a él. Los atributos también tienen un

Especialización Tecnológica en Seguridad en Redes Página 10


Pág. 11 de
Centro de Teleinformática y Producción Industrial - Regional Cauca
31
Número de Fecha de Creación:
DOC-ESPSRD-012 Preparado por: Esp. Henry Bastidas
Documento: 31/07/2015
Nombre del Documento: Seguridad en Bases de Datos

dominio. El dominio agrupa y describe lógicamente el conjunto de todos los valores posibles que un
atributo puede tener. Es importante puntualizar que, al igual que en el modelo E-R, el atributo de un
objeto puede tener un valor único o valores múltiples. Además, los atributos de objeto pueden hacer
referencia a uno o más objetos. A nivel de ejecución, el OID del objeto al que se referencia se utiliza para
vincular ambos objetos, lo que permite la ejecución de relaciones entre dos o más objetos. Esto es
distinto al modelo relacional en el que el atributo de una tabla puede contener sólo un valor que puede
ser utilizado para unir fi las (JOIN) en tablas diferentes.

La identidad del objeto está representada por el ID de objeto (OID), el cual es único de ese objeto. El OID
es asignado por el sistema al momento de la creación del objeto y no puede ser cambiado en ninguna
circunstancia. No debe confundirse con la clave principal del modelo relacional, ya que esta última se
basa en valores dados por el usuario de atributos seleccionados y puede ser cambiada en cualquier
momento. El OID puede ser eliminado sólo si el objeto es eliminado, y ese OID no puede ser reutilizado.
El concepto de clase puede ser asociado con los conceptos de conjunto de entidades y tabla de los
modelos E-R y relacional, respectivamente. No obstante, clase es un concepto más poderoso que
permite no sólo la descripción de la estructura de datos sino también la descripción del comportamiento
de los objetos clase. Además, el OODM introduce el concepto de tipos de datos abstractos, permitiendo
la definición de tipos de datos nuevos que posteriormente pueden ser utilizados como cualquier otro tipo
de datos base que acompaña a una base de datos, incrementando así el contenido semántico de los
objetos modelados.

El Encapsulado y herencia en este tipo de base de datos son características que no son soportadas por
los modelos de datos relacionales o E-R. El encapsulado es la capacidad de ocultar los detalles internos
del objeto (atributos y métodos). Esta capacidad deriva de que la estructura interna de un objeto no
puede ser accedida directamente por otro objeto, garantizando la integridad del estado del objeto. La
herencia es la capacidad de un objeto dentro de una jerarquía de heredar la estructura de datos y el
comportamiento (métodos) de las clases sobre ella.

Las Relaciones interobjeto (vínculos atributo-clase), Una relación atributo clase o relación interobjeto, se
crea cuando el atributo de un objeto hace referencia a otro objeto de la misma o diferente clase. Existen
dos tipos de relaciones interobjeto: relaciones 1:M y M:N; la Relaciones 1:M, en contraste con el modelo
relacional, en el OODM soporta atributos multivaluados, agregaciones conocidas como conjuntos o
bolsas.

Esta capacidad es esencial para representar cualquier tipo de relaciones “a muchos”. Para representar
una relación 1:M se define un atributo en la clase “muchos” de la relación para almacenar el identificador
del objeto de la clase “uno”. En la clase “uno” se define un atributo para almacenar un conjunto de
valores, que serán los identificadores de los “muchos” objetos con los que está relacionado. Es
importante tener en cuenta que aunque la relación es definida por los atributos en la clase, en la propia
base de datos las relaciones son entre objetos, es decir, las relaciones clave primaria-clave ajena son
entre filas específicas y no entre tablas completas. En las Relaciones M:N, esto se da Debido a que una
base de dato OO permite a los objetos tener atributos multivaluados, las relaciones M:N pueden ser
directamente representadas sin necesidad de crear entidades compuestas. Para representar la relación
M:N cada clase que participa en la relación define un atributo que contendrá un conjunto de valores de
las otras clases con las que está relacionada.

En principio, la capacidad de representar directamente relaciones M:N puede parecer una gran ventaja de
las bases de datos OO. Sin embargo, hay que tener mucho cuidado al usarlas debido a que se produce
pérdida de información.

Un tipo especial de relación M:N es la relación “parte de un todo”. En esta relación, un producto puede

Especialización Tecnológica en Seguridad en Redes Página 11


Pág. 12 de
Centro de Teleinformática y Producción Industrial - Regional Cauca
31
Número de Fecha de Creación:
DOC-ESPSRD-012 Preparado por: Esp. Henry Bastidas
Documento: 31/07/2015
Nombre del Documento: Seguridad en Bases de Datos

estar compuesto de muchas partes y subpartes. Y, de la misma forma, la misma parte o subparte puede
ser usada en diferentes productos.

La forma de implementar esta relación en una base de datos es la misma que se ha comentado
anteriormente, usando conjuntos de identificadores de objetos en las dos clases que están relacionadas.
En la figura se muestra un ejemplo que muestra un esquema de bases de datos orientada a objetos, con
una simbología semejante a UML. En la figura, cada nodo representa una clase, y se compone de 3
niveles: nombre de la clase, atributos y métodos. Los atributos que tienen el símbolo “*” son atributos
multivaluados. Los nodos se pueden conectar por dos tipos de arcos:

Un arco normal (línea delgada) indica que la clase del destino de la flecha es el dominio de un atributo de
la clase origen o el resultado de un método de la clase origen. Esto se puede ver, por ejemplo, en el
atributo documento de la clase Proyecto, cuyo dominio es la clase Documento.

Un arco grueso indica que la clase origen de la flecha es una subclase de la clase destino (herencia).
Esta relación se puede apreciar entre las clases Informe Técnico o la clase Artículo y Documento, siendo
ésta última la superclase de las dos anteriores.

En este ejemplo, además, se pueden contemplar relaciones interobjeto 1:M, como por ejemplo entre
Proyecto.documento y Documento.

Ilustración 5: Ejemplo Modelo Oriento a Objetos

Especialización Tecnológica en Seguridad en Redes Página 12


Pág. 13 de
Centro de Teleinformática y Producción Industrial - Regional Cauca
31
Número de Fecha de Creación:
DOC-ESPSRD-012 Preparado por: Esp. Henry Bastidas
Documento: 31/07/2015
Nombre del Documento: Seguridad en Bases de Datos

Bases de datos avanzadas

Bases de datos Cliente Servidor.

Esta tipo de arquitecturas cliente/servidor, permiten aprovechar los conceptos de cliente y servidor para
desarrollar aplicaciones que accedan a diversas bases de datos de forma transparente. Esto hace viable
cambiar la aplicación en la parte servidora, sin que la aplicación cliente se modifique. Para que sea
posible desarrollar estas aplicaciones es necesaria la existencia de un estándar de conectividad abierta
que permita a los computadores y estaciones de trabajo acceder de forma transparente a bases de datos
corporativas heterogéneas.

Lo cual sería en forma breve que las aplicaciones hechas con enfoque cliente servidor para su manejo de
base de datos le permiten a los clientes obtener los datos sin necesidad de preocuparse por tener algún
tipo de modificación, mientras que el servidor es el encargado de será entonces el que se encargue de
recibir solicitudes para consultas, actualizar las peticiones de altas o bajas y el manejo de transacciones.

Aclarando un poco los conceptos se puede afirmar que un sistema cliente/servidor es aquel en el que uno
o más clientes y uno o más servidores, conjuntamente con un sistema operativo subyacente y un sistema
de comunicación entre procesos, forma un sistema compuesto que permite cómputo distribuido, análisis,
y presentación de los datos. Si existen múltiples servidores de procesamiento de base de datos, cada uno
de ellos deberá procesar una base de datos distinta, para que el sistema sea considerado un sistema
cliente/servidor. Cuando dos servidores procesan la misma base de datos, el sistema ya no se llama un
sistema cliente/servidor, sino que se trata de un sistema de base de datos distribuido.

Los clientes, a través de la red, pueden realizar consultas al servidor. El servidor tiene el control sobre
los datos; sin embargo los clientes pueden tener datos privados que residen en sus computadores. Las
principales características de laarquitectura cliente/servidor son:

o El servidor presenta a todos sus clientes una interfaz única y bien definida.
o El cliente no necesita conocer la lógica del servidor, sólo su interfaz externa.
o El cliente no depende de la ubicación física del servidor, ni del tipo de equipo físico en el que se
encuentra, ni de su sistema operativo.
o Los cambios en el servidor implican pocos o ningún cambio en el cliente.

Como ejemplos de clientes pueden citarse interfaces de usuario para enviar comandos a un servidor,
APIs (Aplication Program Interface) para el desarrollo de aplicaciones distribuidas, herramientas en el
cliente para acceder a servidores remotos (por ejemplo, servidores de SQL) o aplicaciones que solicitan
acceso a servidores para algunos servicios.

Otros ejemplos de servidores pueden citarse servidores de ventanas como Xwindows, servidores de
archivos como NFS, servidores para el manejo de bases de datos (como los servidores de SQL),
servidores de diseño y manufactura asistidos por computador, etc.

Especialización Tecnológica en Seguridad en Redes Página 13


Pág. 14 de
Centro de Teleinformática y Producción Industrial - Regional Cauca
31
Número de Fecha de Creación:
DOC-ESPSRD-012 Preparado por: Esp. Henry Bastidas
Documento: 31/07/2015
Nombre del Documento: Seguridad en Bases de Datos

Ilustración 6: Ejemplo Modelo cliente Servidor

Bases de datos Distribuidas.

Este tipo de base de datos se considera como un grupo de datos que pertenecen a un sistema pero a su
vez está repartido entre computadores de una misma red, ya sea a nivel local o cada uno en una
diferente sitio geográfico, cada sitio en la red es autónomo en sus capacidades de procesamiento y es
capaz de realizar operaciones locales y en cada uno de estos computadores debe estar ejecutando
una aplicación a nivel global que permita la consulta de todos los datos como si se tratase de uno solo.

Para tener una base de datos distribuida debe cumplirse las condiciones de una red de computadores.
Una red de comunicación provee las capacidades para que un proceso sea ejecutado en un sitio de la
red, enviando y recibiendo mensajes de otro proceso ejecutándose en un sitio distinto.

En las bases de datos distribuidas los parámetros a considerar incluyen: Retraso en la entrega de
mensajes, Costo de transmisión de un mensaje y Confiabilidades de la red.

Ilustración 7: Ejemplo de una Base de Datos Distribuidas

Teniendo en cuenta que un sistema de bases de datos distribuidas se compone de un conjunto de sitios

Especialización Tecnológica en Seguridad en Redes Página 14


Pág. 15 de
Centro de Teleinformática y Producción Industrial - Regional Cauca
31
Número de Fecha de Creación:
DOC-ESPSRD-012 Preparado por: Esp. Henry Bastidas
Documento: 31/07/2015
Nombre del Documento: Seguridad en Bases de Datos

conectados entre sí mediante algún tipo de red de comunicaciones en el cual:

1. Cada sitio es un sistema de B.D. por sí mismo.


2. Los sitios han convenido en trabajar juntos con el fin de que un usuario de cualquier sitio pueda
obtener acceso a los datos de cualquier punto de la red tal como si todos los datos estuvieran
almacenados en el sitio propio del usuario.

El DDBMS (Distributed DBMS), es el software que administra todas las bases de datos de los sitios y
proporciona un mecanismo de acceso que hace transparente esta distribución a los usuarios.

A manera de conclusión, se puede decir que una bases de datos distribuidas es un objeto “virtual”, que
surge de la unión de munchas bases de datos que han a cordado trabajar juntas, y una de las ventajas
que tiene este tipo de bases de datos es que almacena la información que más se utiliza de manera local
y solo en algunas ocasiones accede de manera remota a información de otros sitios.

Bases de datos Web.

La utilización de la World Wide Web (www) para presentar y acumular datos se ha desarrollado mucho
más allá de la sencilla presentación de páginas, ya no se hacen los antiguos diseños web en los que los
diseñadores creaban una página independiente para cada elemento de la colección que querían mostrar,
esas páginas eran difíciles de mantener y de organizar. Cabe hacer mención especial al gran número de
aplicaciones a las que da soporte Internet, así como a la naturaleza de las mismas, ya que no son
aplicaciones estáticas sino que están en constante renovación (esto hace que sea especialmente
importante separar los datos con los que se trabaja de la aplicación que los gestiona). Todo ello influye en
la forma de almacenar y organizar la información, debiendo de tener en cuenta todos estos factores a la
hora de crear una BBDD para la web. Cualquier sitio web que presente información sobre un conjunto
de elementos similares es candidato para la utilización de una base de datos web.

La solución general consiste en definir una base de datos, añadir un registro para cada elemento
(directamente en la base de datos o dinámicamente por la web) y después consultar dicha base de datos
para generar páginas web sobre la marcha. Una página de menú codificada en HyperText Markup
Language (HTML) convierte en una consulta a una base de datos de varios registros. Esto supone una
increíble ventaja sobre todo a la hora del mantenimiento ya que es más fácil tratar una base de datos que
muchas páginas individuales. También un aumento de las capacidades del HTML ya que éste tiene
muchas limitaciones. Las tecnologías web están reemplazando arquitecturas como la terminal o
clienteservidor, incluyendo servicios y servidores web y de base de datos entre ellos.

El funcionamiento de un navegador web es el siguiente:


1. El usuario haciendo uso del navegador web (sistema cliente) solicita visualizar una página web.
2. El navegador solicita esta página (que está codificada en lenguaje HTML, el lenguaje que puede
interpretar) al servidor web (sistema servidor).
3. El servidor web envía la información que le han pedido, en HTML, al navegador del usuario.
4. El navegador muestra la página web en la pantalla del usuario.

El servidor debe devolver la información solicitada en HTML, así la información puede estar almacenada
en el servidor de forma estática (un fichero .html) o ser generada de forma dinámica y codificada en
HTML.

Especialización Tecnológica en Seguridad en Redes Página 15


Pág. 16 de
Centro de Teleinformática y Producción Industrial - Regional Cauca
31
Número de Fecha de Creación:
DOC-ESPSRD-012 Preparado por: Esp. Henry Bastidas
Documento: 31/07/2015
Nombre del Documento: Seguridad en Bases de Datos

Los distintos Sistemas Gestores de Bases de Datos (SGBD) existentes incorporan en sus últimas
versiones software de tipo middleware (capa de software que se sitúa sobre el SGBD) para añadir
conectividad a la base de datos a través de Internet, por lo que realmente las bases de datos web no son
mas que SGBD utilizados y orientados con vistas a la web. Los middleware desarrollados en los distintos
SGBD suelen emplear ODBC (traduce las consultas de datos de la aplicación en comandos que el SGBD
entienda) para conectar con la BD, junto con diversos conjuntos de herramientas para facilitar al usuario
la implementación de la comunicación con la BD a través de Internet. Las principales características que
debe cumplir un SGBD utilizado en tecnología web son las siguientes:

1. Permitir acceso concurrente a los datos.


2. Ofrecer mecanismos de seguridad.
3. Soportar transacciones.
4. Permitir almacenar grandes volúmenes de datos, y almacenamiento de diferentes archivos.

Como ejemplo de una base de datos Web se presenta una Web simplificada de comercio electrónico.
Esta base de datos Web deberá soportar la capacidad de mostrar los productos o servicios disponibles y
realizar transacciones de ventas básicas. Como tablas contaremos con:

CUSTOMER: tabla con los detalles de un cliente registrado, de forma general contendrá los datos
sobre el nombre, apellidos, datos de facturación, pago, etc.
PRODUCT: tabla con los detalles individuales de cada producto como pueden ser su
identificador, nombre, categoría a la que pertenece, precio, unidades disponibles…
ORDER: detalles generales del pedido, como pueden ser la fecha, identificador del cliente, etc…
ORDLINE: línea del pedido que contiene los productos seleccionados en cada pedido, así como
su cantidad.
SHOPCART: tabla auxiliar que contiene los productos seleccionados por el cliente en su carro de
compra, así como su cantidad. Esta es una tabla de “trabajo”, cuyo contenido se borrara cuando
el cliente cierre su sesión en la página o cierre el explorador.

Como las tablas anteriores podremos incluir muchas más para hacer el sistema más completo como
puede ser, tablas que hagan referencia a impuestos aplicables a cada uno de los países, una tabla que
contenga a los clientes que desean ser notificados si el precio de un producto alcanza un cierto nivel, una
tabla que tenga una serie de ofertas o promociones para un articulo determinado… Ya dentro de cada
tabla podríamos complicarlo todo lo que quisiéramos añadiendo mas información a cada una de las
tablas, como por ejemplo mantener información sobre el ultimo acceso de un cliente para mostrar los
últimos productos visitados, añadir distintos tipos de miembros (cliente normal, mayorista, …)

Las principales ventajas e inconvenientes que proporciona el uso de un SGBD en la web se mencionan a
continuación:

Ventajas.
1. Independencia del Hardware y el Software
2. Independencia de la ubicación
3. Facilita el mantenimiento de las aplicaciones web, materializando la separación entre la
persistencia de datos y las capas de presentación y dominio de la aplicación.
4. Facilita la portabilidad del sistema.
5. Independencia de la plataforma.

Inconvenientes.

Especialización Tecnológica en Seguridad en Redes Página 16


Pág. 17 de
Centro de Teleinformática y Producción Industrial - Regional Cauca
31
Número de Fecha de Creación:
DOC-ESPSRD-012 Preparado por: Esp. Henry Bastidas
Documento: 31/07/2015
Nombre del Documento: Seguridad en Bases de Datos

1. Decremento de la seguridad al estar accesible desde cualquier ubicación.


2. Incremento de la complejidad de diseño de la aplicación web.
3. Fiabilidad dependiente de la disponibilidad de red del servidor y/o servidores donde se aloja la
Base de Datos.

Bodegas de datos.

Una bodega de datos es una herramienta empresarial utilizada por los negocios como una solución
informática que consolida los datos de fuentes internas y externas de una entidad, institución o negocio,
en un solo sitio, con el objetivo de facilitar las tareas de consulta y análisis de la información.

Cuando una bodega de datos contiene datos específicos de una dependencia (dirección, coordinación o
grupo) es llamada también data mart; si la bodega de datos integra datos de varias dependencias es
llamada también data warehouse.

Su objetivo es soportar la toma de decisiones en un negocio (no las operaciones del negocio) y
centralizar una gran variedad de datos e información, interpretar dicha información y darle un valor
agregado para beneficio del negocio todo ello por supuesto, con un fácil acceso y visualización por parte
de los usuarios.

Los tres aspectos más importantes que intervienen en el establecimiento y el uso de una bodega de
datos son:

El diseño, este debe basarse en un estudio profundo tanto de la empresa como de las personas o
áreas que van a utilizar la bodega todo con el fin de que adecuar la información dependiendo sus
necesidades, ya que es muy importante que los datos estén almacenados ahí de una manera
eficaz y rápida para la hora en que se requería tomar una decisión se encuentren informes
detallados queresuelvan todas las inquietudes y preguntas que surgen en la organización.

El mantenimiento, este debe elaborarse periódicamente, es decir, mantenimiento en este caso


significa hacer una actualización constante de la información para estar al tanto de todos los
sucesos y aprovechar las oportunidades.

El uso de la bodega de datos: para sacar un completo provecho de las bodegas de datos es
necesario establecer que personas las van a utilizar y a estas mismas darle las instrucciones más
adecuadas para agilizar los procesos de búsqueda en las bodegas ya que el éxito no depende
solo de la bodega y de su información sino también del correcto manejo de las personas que
estén a su cargo.

Las bodegas de datos le permite a los usuarios ascender a esa información importante de los clientes,
para buscar relaciones y efectuar consultas. El proceso mediante el cual los usuarios se sientan enfrente
de una montaña de hechos y datos para descubrir tendencias que sugieran nuevas oportunidades de
negocios se llama “minería de datos”.

Para la creación de una bodega de datos se necesitan 2 tipos de herramientas que son:

Herramientas de Hadware: Como herramientas de hardware requieren de un servidor para el


almacenamiento y manejo de la base de datos corporativa; este servidor se recomienda que sea

Especialización Tecnológica en Seguridad en Redes Página 17


Pág. 18 de
Centro de Teleinformática y Producción Industrial - Regional Cauca
31
Número de Fecha de Creación:
DOC-ESPSRD-012 Preparado por: Esp. Henry Bastidas
Documento: 31/07/2015
Nombre del Documento: Seguridad en Bases de Datos

altamente escalable, pues algunas veces el proyecto de construcción de la bodega presenta


redimensionamiento a medida que se avanza en la implementación. La capacidad inicial de
almacenamiento estará determinada por los requerimientos de información histórica presentados
por la empresa y por la perspectiva de crecimiento que se tenga.

Herramientas de Software: Las herramientas se clasifican en cuatro categorías básicas:


o Herramientas de Almacenamiento: corresponde a la herramienta en la cual se irán a
almacenar los datos. Existen muchas opciones dependiendo del volumen de los datos,
presupuesto y capacidad de su sistema. Cada uno de los sistemas de administración de
bases de datos, como Oracle, DB2, Informix, TeraData, Sybase, etc, tienen una facilidad
de Data Warehouse.

o Herramientas de Extracción y Colección: Ayudan a definir, acumular, totalizar y filtrar los


datos de sus sistemas transaccionales en el Data Warehouse. La mayoría de esas
herramientas son desarrolladas por el personal interno de la compañía dado el gran
conocimiento que tienen de los sistemas transaccionales.

o Herramientas para Elaboración de Reportes a Usuarios Finales: Es la interfase vista por


el usuario. Al usuario se le debe proveer un mecanismo para que vea los datos a un alto
nivel y que entonces obtenga con ello la solución a preguntas específicas. Existen
muchas herramientas, incluyendo Cognos Powerplay, Business Objects, SAS,
ShowCase Strategy etc.

o Herramientas de Análisis Inteligente: Entre ellas están las de empresas como IBM, SAS,
Arbor, Cognos, Business Objects, entre otras. Estas herramientas han sido construidas
utilizando inteligencia artificial que buscan alrededor del Data Warehouse modelos y
relaciones en los datos. Estas herramientas utilizan una técnica conocida como Data
Minning o Minería de datos.

Especialización Tecnológica en Seguridad en Redes Página 18


Pág. 19 de
Centro de Teleinformática y Producción Industrial - Regional Cauca
31
Número de Fecha de Creación:
DOC-ESPSRD-012 Preparado por: Esp. Henry Bastidas
Documento: 31/07/2015
Nombre del Documento: Seguridad en Bases de Datos

Seguridad de Base de Datos.

Configuración de control y administración de una base de datos.

Usuarios de la Base de Datos y Perfiles (Administrador de Bases de Datos, Usuario Manejador, Usuarios
Finales).

Usuarios de las bases de datos.


Un usuario se puede definir como toda persona que tenga todo tipo de contacto con el sistema de base
de datos desde que este se diseña, elabora, termina y se usa.

Los usuarios que acceden una base de datos pueden clasificarse como:

Programadores de aplicaciones: Los profesionales en el área de los sistemas que interactúan con
el sistema por medio de llamadas en DML (Lenguaje de Manipulación de Datos), las cuales están
incorporadas en un programa escrito en un lenguaje de programación (Por ejemplo, COBOL,
PL/I, Pascal, C, etc.).

Usuarios sofisticados: Los usuarios sofisticados interactúan con el sistema sin escribir
programas. En cambio escriben sus preguntas en un lenguaje de consultas de base de datos.

Usuarios especializados: Algunos usuarios sofisticados escriben aplicaciones de base de datos


especializadas que no encajan en el marco tradicional de procesamiento de datos.

Usuarios ingenuos: Los usuarios no sofisticados interactúan con el sistema invocando a uno de
los programas de aplicación permanentes que se han escrito anteriormente en el sistema de
base de datos, podemos mencionar al usuario ingenuo como el usuario final que utiliza el sistema
de base de datos sin saber nada del diseño interno del mismo, por ejemplo en un cajero.

Actores en el entorno de una base de datos.

Administrador de la base de datos: se encarga del diseño físico de la base de datos y de su


implementación, realiza el control de la seguridad y de la concurrencia, mantiene el sistema para
que siempre se encuentre operativo y se encarga de que los usuarios y las aplicaciones
obtengan buenas prestaciones. El administrador debe conocer muy bien el SGBD que se esté
utilizando, así como el equipo informático sobre el que esté funcionando.

Diseñadores de la base de datos: realizan el diseño lógico de la base de datos, debiendo


identificar los datos, las relaciones entre datos y las restricciones sobre los datos y sus
relaciones. El diseñador de la base de datos debe tener un profundo conocimiento de los datos
de la empresa y también debe conocer sus reglas de negocio. Las reglas de negocio describen
las características principales de los datos tal y como las ve la empresa.

El diseñador de la base de datos debe implicar en el desarrollo del modelo de datos a todos los
usuarios de la base de datos, tan pronto como sea posible. El diseño lógico de la base de datos
es independiente del SGBD concreto que se vaya a utilizar, es independiente de los programas
de aplicación, de los lenguajes de programación y de cualquier otra consideración física.

Especialización Tecnológica en Seguridad en Redes Página 19


Pág. 20 de
Centro de Teleinformática y Producción Industrial - Regional Cauca
31
Número de Fecha de Creación:
DOC-ESPSRD-012 Preparado por: Esp. Henry Bastidas
Documento: 31/07/2015
Nombre del Documento: Seguridad en Bases de Datos

Programadores de aplicaciones: se encargan de implementar los programas de aplicación que


servirán a los usuarios finales. Estos programas de aplicación son los que permiten consultar
datos, insertarlos, actualizarlos y eliminarlos. Estos programas se escriben mediante lenguajes de
tercera generación o de cuarta generación.

Usuarios finales: consultan, actualizan y generan reportes de la base de datos. A los usuarios
finales también se les llama clientes de la base de datos.

Técnicas y Procedimientos para la Seguridad de los Datos.

Las técnicas de protección de datos deben englobar las tres fases del proceso de producción de datos
estadísticos: la recogida, el procesamiento o análisis y la difusión.

Sin embargo, las más extendidas y desarrolladas se aplican en la última fase del proceso por lo que se
denominan Técnicas de Control de la Divulgación Estadística.

Éstas se clasifican de una manera casi natural, según el formato en el que los datos son publicados o
difundidos. Comúnmente, existen tres principales formas de difundir los datos estadísticos:

Mediante archivos de registros individuales.


Mediante Tablas de magnitud o frecuencias.
Mediante consultas secuenciales en Bases de Datos.

A continuación se describe brevemente las técnicas en uso para cada una de las modalidades de
difusión. Algunas de ellas serán tratadas detalladamente por su interés y aplicación práctica.

En el caso de archivos se pueden implementar algunos métodos:

Métodos de Restricción. Se basan en limitar la cantidad de información publicada mediante diferentes


técnicas:
 Recodificación: Consiste en unificar categorías en variables cualitativas o agrupar magnitudes
con valores extremos en variables cuantitativas (top -bottomcoding).
 Supresiones Locales: Simplemente se suprimen para su publicación, determinados valores
sensitivos de variables que pueden dar lugar a identificaciones.
 Métodos de Perturbación. Tienen en común que modifican los valores de determinadas variables,
permitiendo su publicación pero de forma que no se puedan conocer los valores exactos. Entre
éstos destacan:
o Redondeo Aleatorio. Los valores de determinadas variables son sustituidos por
cantidades redondeadas.
o Aportación de ruido. Consiste en la introducción de error (pequeñas cantidades
seleccionadas aleatoriamente) en los valores de las variables.
o Sustitución. Consiste en intercambiar valores dentro de una variable de forma que la
información puede ser tratada estadísticamente (se mantiene la estructura de
correlación), sin riesgo de identificar a un individuo con un determinado registro dentro
del fichero de datos.
o Microagregación. Se agrupan los valores de la variable de acuerdo a determinados

Especialización Tecnológica en Seguridad en Redes Página 20


Pág. 21 de
Centro de Teleinformática y Producción Industrial - Regional Cauca
31
Número de Fecha de Creación:
DOC-ESPSRD-012 Preparado por: Esp. Henry Bastidas
Documento: 31/07/2015
Nombre del Documento: Seguridad en Bases de Datos

criterios de ordenación y en cada registro el valor de dicha variable es sustituido por la


media del grupo al que pertenezca.
o
Mención especial merecen las técnicas de encriptación, a las que no hemos englobado en ninguno de los
grupos anteriores por diferir, tanto en su implementación como en el objeto final de su aplicación. Estas
técnicas pueden ser aplicadas en cualquiera de las etapas del proceso de datos (recogida, análisis y
difusión) y proporcionan una solución eficiente al problema de la delegación segura de datos (permite que
la información sea analizada o procesada por agentes externos sin que éstos conozcan los valores de las
variables que se están utilizando durante el proceso).

También permiten la transferencia de archivos de unos sistemas de información a otros de forma segura,
sin que éstos puedan ser interceptados y descifrados por algún intruso.

Técnicas para la protección de Tablas

La publicación y difusión de datos mediante tablas, bien sean de magnitudes agregadas o de frecuencias,
es un sistema enormemente extendido, por lo que precisa de sus propias técnicas de protección que
doten de seguridad, a la vez que no limiten la capacidad de informar eficientemente al usuario.

El hecho de que los datos publicados en tablas estén agrupados o resumidos no limita el riesgo de
divulgación de información confidencial. Valores pequeños de las celdas en tablas de frecuencias o
contribuciones dominantes al valor de la celda en tablas de magnitud, pueden aportar información
sensitiva sobre los individuos o unidades que contribuyen a la celda.

El riesgo de divulgación en celdas vendrá dado por las denominadas medidas de sensitividad, que
determinarán si una celda es o no sensitiva. El total de celdas sensitivas en una tabla determinará el
riesgo total de divulgación de la misma. A mayor nº de celdas sensitivas, más insegura será la tabla.
Muchos de los métodos anteriormente explicados para el caso de protección pueden ser aplicados o
adaptados al caso de datos tabulares. A continuación se resumen algunos de los más importantes:

El redondeo controlado. Difiere del redondeo aleatorio en que debe ser aplicado a las celdas de
la tabla manteniendo la aditividad entre filas y columnas, es decir, comprobando la consistencia
con totales y subtotales.
Recodificación. Como en el caso anterior, consiste en la agrupación de categorías en variables
cualitativas o cuantitativas, de forma que el nuevo valor para la celda sea lo suficientemente
grande como para considerarse seguro.
Granularidad. Se trata más de un criterio de seguridad que de una técnica de protección en sí
misma. Se basa en la distribución de las celdas Gunitarias (con valor 1 en tablas de frecuencias o
con contribuciones únicas en tablas de magnitud) dentro de la tabla. Si éstas sobrepasan un
determinado nivel o ratio de granularidad, la tabla es considerada insegura. Debido al paralelismo
de esta técnica con la identificación de unidades o individuos que son únicos o raros en ficheros
de datos, podremos utilizar alguna de las técnicas explicadas en ese apartado, para proteger
tablas con altos índices de granularidad.
Supresión de celdas. En datos tabulares no es suficiente con suprimir localmente las celdas
consideradas como sensitivas ya que, debido a la existencia de totales, subtotales y el resto de
valores de las celdas, es posible en muchos casos recalcular el valor de una celda confidencial.
Es por tanto necesario realizar una supresión secundaria de celdas que, aun no siendo

Especialización Tecnológica en Seguridad en Redes Página 21


Pág. 22 de
Centro de Teleinformática y Producción Industrial - Regional Cauca
31
Número de Fecha de Creación:
DOC-ESPSRD-012 Preparado por: Esp. Henry Bastidas
Documento: 31/07/2015
Nombre del Documento: Seguridad en Bases de Datos

sensitivas, ayudan a calcular el valor de aquellas que sí lo son. Encontrar un patrón de supresión
óptimo (es decir que aporte seguridad a la tabla con el mínimo número de supresiones) no es un
problema trivial y precisa de técnicas de programación lineal que pueden llegar a complicarse
para dimensiones grandes de la tabla (del orden de 4 en adelante).

Estas dos últimas técnicas serán desarrolladas con detalle a lo largo de este cuaderno, así como la
explicación de diversos criterios de sensitividad y medidas de la pérdida de información que serán
aplicados según el caso.

Técnicas para la protección en Bases de Datos

Una Base de Datos aporta un entorno rico en información en el que no sólo se encuentran almacenados
datos estadísticos, sino los nexos y relaciones existentes entre ellos. El fácil acceso a esta información
por parte del usuario mediante sistemas de consultas secuenciales, supone un alto riesgo de divulgación
de información sensitiva.

Muchas bases de datos cimientan su seguridad, exclusivamente, en sistemas de acceso basados en


claves o en permisos especiales para determinados usuarios.

Sin embargo, existen múltiples formas de llegar a inferir datos sensitivos, bien sea por información
obtenida en consultas previas o en otros entornos de bases de datos, o bien por los conocimientos
previos del usuario sobre la población. La resolución de este problema inferencial en bases de datos,
requiere de técnicas capaces de controlar, en tiempo real, las consultas realizadas por un usuario y
determinar si éstas pueden ser o no contestadas con seguridad.

Trataremos principalmente dos técnicas para la seguridad en bases de datos que tienen en cuenta los
aspectos mencionados:

Confidencialidad via Camuflaje (C.V.C.) . Consiste básicamente en "esconder" la información


confidencial entre dos valores límite que se dan como respuesta ala consulta realizada.

Auditorías de Bases de Datos. Controlan las consultas realizadas por un usuario y determina si la
nueva consulta junto con la información aportada por las demás supone un riesgo de divulgación
de datos sensitivos o confidenciales.

Administración de la Seguridad en el Acceso a los Datos.

Debido al avance las comunicaciones y las tecnologías de red, es fundamental para un ADMBD el saber
cómo controlar el acceso, que no es necesariamente lo mismo que limitar el acceso a la información
contenida en una base de datos.

En un ambiente de base de datos es tan necesario el correcto diseño de la forma


de almacenar la información, como la identificación de los usuarios y la asignación de permisos a dichos
clientes para el acceso a diferentes áreas de la base de datos que le provean la información necesaria
para el desarrollo de su tarea.

Por lo antes expuesto es necesario el Sistema de Base de Datos provea de las herramientas necesarias

Especialización Tecnológica en Seguridad en Redes Página 22


Pág. 23 de
Centro de Teleinformática y Producción Industrial - Regional Cauca
31
Número de Fecha de Creación:
DOC-ESPSRD-012 Preparado por: Esp. Henry Bastidas
Documento: 31/07/2015
Nombre del Documento: Seguridad en Bases de Datos

para realizar el control, ya que la seguridad de los datos almacenados en la misma son de vital
importancia para el ente al que prestan servicio.
Por ejemplo SQL define una serie de figuras cuya identificación ayudará al administrador en la tarea de
mantener un sistema seguro, los usuarios del servidor, los usuarios de las bases de datos y los permisos
a cada objeto de SQL Server.

Características del Sistema de Seguridad.

Estos sistemas están compuestos de varias capas, el usuario para poder acceder a los datos debe saber
abrir varias puertas.

El usuario en primer lugar debe sortear la barrera que impone el sistema operativo que se este usando,
una vez que el usuario ingreso al sistema operativo deberá sortear el acceso a la base de datos sea cual
fuere la tarea a realizar, (consultar, agregar o modificar datos) o también si desea administrar el Sistema.
En algunos casos es posible sortear este control si se considera solamente la clave de acceso al Sistema
Operativo es suficiente.

Seguridad de la Base de Datos.

Las bases de datos disponen de mecanismos para la identificación de usuarios y controlar cuales de los
usuarios que tienen acceso al servidor tendrá también acceso a los datos de dicha base. Este tercer
proceso de verificación permite el acceso a los datos.

Seguridad de Objeto. Permisos de utilización. Una vez que se accedió a este nivel se debe sortear
también el último escalón del sistema de seguridad. Pues también deberá poseer autorización para poder
ejecutar sentencias sobre los objetos.

Los sistemas de base de datos poseen gran flexibilidad a la hora de proteger los datos. Puede a cada
momento determinar quién y que realiza determinado usuario y sobre un determinado objeto o también
solo columnas individuales de un objeto.

Los permisos para realizar operaciones pueden concederse o revocarse colectiva o individualmente.

Niveles de seguridad.

Existen cuatro categorías que son:


Administrador: Es quién tiene acceso sin restricciones y puede realizar cualquier tipo de tareas
con los datos, dar y quitar permisos etc.

Propietarios de Bases de Datos (DBO): Es el usuario que ha creado la base de datos o a quien
se le asigno esta propiedad. Tiene acceso a todos los objetos de la base de datos y puede
también asignar permisos sobre dicha base.
Usuarios: Son el resto de los integrantes del ente que a los que se le pueden otorgar permisos
para operar la Base de Datos.

Modos de Seguridad

Especialización Tecnológica en Seguridad en Redes Página 23


Pág. 24 de
Centro de Teleinformática y Producción Industrial - Regional Cauca
31
Número de Fecha de Creación:
DOC-ESPSRD-012 Preparado por: Esp. Henry Bastidas
Documento: 31/07/2015
Nombre del Documento: Seguridad en Bases de Datos

Existen tres modos de seguridad que determinan cómo se crean y mantienen los el ingreso a la base de
datos:

Seguridad Standard: Es el responsable de mantener y manejar las cuentas de acceso al servidor, de


modo que cada vez que se quiera acceder al mismo se debe proporcionar un nombre de usuario
asociado con una palabra clave que es almacenada previamente una tabla del sistema. Deben coincidir
con el acceso al sistema base.

Seguridad Integrada: Se integran los mecanismos de acceso al sistema con los de los de la base de
datos. Para algunos casos como Windows NT se asocian las tablas de ingreso al sistema con la base de
datos, por lo tanto todo aquel que tenga una cuenta en Windows NT tendrá automaticamente ingreso al
servidor de dase de datos.

Seguridad Mixta: Es una combinación de las anteriores. Los usuarios que tengan una relación de
confianza con el dominio en el que se encuentre el servidor y utilicen una conexión aprovechando esta
relación tendrán seguridad integrada.

Mientras que los que no posean esta relación utilizaran la seguridad estándar.

Seguridad en el Sistema Gestor de bases de datos.

La mayoría de los datos sensibles del mundo están almacenados en sistemas gestores de bases de
datos comerciales tales como Oracle, Microsoft SQL Server entre otros, y atacar las bases de datos es
uno de los objetivos favoritos para los criminales.

Esto puede explicar por qué los ataques externos, han aumentado, esta tendencia es prueba adicional de
que los agresores tienen éxito en hospedar páginas Web maliciosas, y de que las vulnerabilidades y
explotación en relación a los navegadores Web están conformando un beneficio importante para ellos.
Mientras que la atención generalmente se ha centrado en asegurar los perímetros de las redes por medio
de, firewalls, IDS / IPS y antivirus, cada vez más las organizaciones se están enfocando en la seguridad
de las bases de datos con datos críticos, protegiéndolos de intrusiones y cambios no autorizados

En las siguientes secciones daremos las recomendaciones para proteger una base de datos en
instalaciones tradicionales.

- Identifique su sensibilidad: No se puede asegurar lo que no se conoce. Tener un buen catálogo de


tablas o datos sensibles de sus instancias de base de datos.

Además, automatice el proceso de identificación, ya que estos datos y su correspondiente ubicación


pueden estar en constante cambio debido a nuevas aplicaciones o cambios producto de fusiones y
adquisiciones.
Desarrolle o adquiera herramientas de identificación, pues aparte de exponer información confidencial
debido a vulnerabilidades.- Evaluación de la vulnerabilidad y la configuración: Evalúe la configuración de
bases de datos, para asegurar que no tiene huecos de seguridad. Esto incluye la verificación de la forma
en que se instaló la base de datos y su sistema operativo (por ejemplo, la comprobación privilegios de
grupos de archivo -lectura, escritura y ejecución- de base de datos y bitácoras de transacciones).

Especialización Tecnológica en Seguridad en Redes Página 24


Pág. 25 de
Centro de Teleinformática y Producción Industrial - Regional Cauca
31
Número de Fecha de Creación:
DOC-ESPSRD-012 Preparado por: Esp. Henry Bastidas
Documento: 31/07/2015
Nombre del Documento: Seguridad en Bases de Datos

Asimismo con archivos con parámetros de configuración y programas ejecutables, Además, es necesario
verificar que no se está ejecutando la base de datos con versiones que incluyen vulnerabilidades
conocidas; así como impedir consultas desde las aplicaciones o capa de usuarios. Para ello se pueden
considerar:

Limitar el acceso a los procedimientos a ciertos usuarios.

Delimitar el acceso a los datos para ciertos usuarios, procedimientos y/o datos.

Declinar la coincidencia de horarios entre usuarios que coincidan.

Endurecimiento: Como resultado de una evaluación de la vulnerabilidad a menudo se dan una


serie de recomendaciones específicas. Este es el primer paso en el endurecimiento de la base de
datos. Otros elementos de endurecimiento implican la eliminación de todas las funciones y
opciones que se no utilicen.

Aplique una política estricta sobre que se puede y que no se puede hacer, pero asegúrese de
desactivar lo que no necesita.

Audite: Una vez que haya creado una configuración y controles de endurecimiento, realice auto
evaluaciones y seguimiento a las recomendaciones de auditoría para asegurar que no se desvíe
de su objetivo (la seguridad).

Automatice el control de la configuración de tal forma que se registre cualquier cambio en la


misma. Implemente alertas sobre cambios en la configuración. Cada vez que un cambio se
realice, este podría afectar a la seguridad de la base de datos.

Monitoreo: Monitoreo en tiempo real de la actividad de base de datos es clave para limitar su
exposición, aplique o adquiera agentes inteligentes de monitoreo, detección de intrusiones y uso
indebido.

Copias de seguridad.

Los respaldos o copias de seguridad tienen dos objetivos principales:


Permitir la restauración de archivos individuales.
Permitir la restauración completa de sistemas de archivos completos.

El primer propósito es la base para las peticiones típicas de restauraciones de archivos: un usuario
accidentalmente borra un archivo y le pide restaurarlo desde el último respaldo. Las circunstancias
exactas pueden variar, pero este es el uso diario más común de los respaldos.

La segunda situación es la peor para un administrador de sistemas: por la situación que sea, el
administrador se queda observando un hardware que solía ser una parte productiva en el manejo de
datos. Ahora, no es más que un pedazo de acero y silicon inútil. Lo que está faltando en todo el software
y los datos que usted y sus usuarios habian reunido por años. Supuestamente todo ha sido respaldado.

Datos diferentes: Necesidades de respaldos diferentes.


Se debe observar el tipo de datos procesados y almacenados por un sistema de información típico.

Especialización Tecnológica en Seguridad en Redes Página 25


Pág. 26 de
Centro de Teleinformática y Producción Industrial - Regional Cauca
31
Número de Fecha de Creación:
DOC-ESPSRD-012 Preparado por: Esp. Henry Bastidas
Documento: 31/07/2015
Nombre del Documento: Seguridad en Bases de Datos

Observe que algunos de los datos raramente cambian y otros cambian constantemente.

El ritmo al cual los datos cambian es crucial para el diseño de un procedimiento de respaldo. Hay dos
razones para esto: Un respaldo no es más que una instantánea de los datos respaldados. Es un reflejo
de los datos en un momento particular.

Los datos que cambian con poca frecuencia se pueden respaldar menos a menudo, mientras que los
datos que cambian regularmente deben ser copiados frecuentemente.

Los administradores de sistemas que tienen un buen entendimiento de sus sistemas, usuarios y
aplicaciones deberían ser capaces de agrupar rápidamente en sus sistemas en diferentes categorías. Sin
embargo, he aquí algunos ejemplos para comenzar:

Sistema operativo: Estos datos solamente cambia durante las actualizaciones, las instalaciones de
reparaciones de errores y cualquier modificación específica al sitio. La posibilidad del respaldo del
sistema operativo, es una pregunta que muchos administradores de sistemas operativos han evaluado
por muchos años.

Por un lado, si el proceso de instalación es relativamente fácil y si las reparaciones de fallos y


personalizaciones están bien documentadas y son fáciles de reproducir, la reinstalación del sistema
operativo puede ser una opción viable.

Por otro lado, si hay alguna duda de que una instalación fresca pueda recrear completamente el ambiente
original del sistema, el respaldo del sistema operativo es la mejor opción, aún si los respaldo se realizaron
con mucho menos frecuencia que los respaldos de datos de producción. Los respaldos ocasionales de
sistemas operativos son útiles cuando se deben restaurar solamente unos pocos sistemas operativos (por
ejemplo, debido a la eliminación accidental de un archivo).

Software de aplicaciones: Estos datos cambian cuando se instalan, actualizan o eliminan aplicaciones.
Datos de aplicaciones: Estos datos cambian tan frecuente como lo hacen las aplicaciones asociadas.
Dependiendo de la aplicación específica y su organización, esto puede significar que los cambios toman
lugar segundo a segundo o al final del año fiscal.

Datos de usuarios: Estos datos cambian de acuerdo a los patrones de uso de su comunidad de usuarios.
En la mayoría de las organizaciones, esto significa que los cambios toman lugar todo el tiempo.

Basado en estas categorías, se debe tener una buena idea concerniente a la naturaleza de los respaldos
que se necesitan para proteger sus datos.

Basado en estas categorías, se debe tener una buena idea concerniente a la naturaleza de los respaldos
que se necesitan para proteger sus datos.

Especialización Tecnológica en Seguridad en Redes Página 26


Pág. 27 de
Centro de Teleinformática y Producción Industrial - Regional Cauca
31
Número de Fecha de Creación:
DOC-ESPSRD-012 Preparado por: Esp. Henry Bastidas
Documento: 31/07/2015
Nombre del Documento: Seguridad en Bases de Datos

Creación de Usuarios, Permisos y Privilegios sobre la Base de Datos.

Dentro de los mecanismos de seguridad en bases de datos es muy importante el tema relacionado con
usuarios, permisos y privilegios, para lo cual se estructura el tema en: creación y eliminación de usuarios,
permisos del sistema y permisos para los objetos de la base de datos.

Bloqueos Para los datos de Usuario.

El bloque para los datos de usuario, puede realizarse sobre técnicas de bloqueo sobre Base de Datos:
Bloqueo pesimista: Es una técnica por la cual los datos son bloqueados previos a su modificación para
evitar que nadie los modifique. Una vez que los datos a actualizar han sido bloqueados la aplicación
puede acometer los cambios, con commit o rollback, en ese caso el bloqueo es automáticamente
eliminado. Si alguien intenta adquirir un bloqueo de los mismos datos durante el proceso será obligado a
esperar hasta que la primera transacción finalice.

Esta técnica es muy simple pero tiene dos problemas fundamentales:

abandona la operación. Todos


los usuarios que necesitan actualizar ese registro tienen que esperar hasta que se complete la
transacción, o hasta que se mate y finalice el bloqueo.

vez y A bloqueo un
registro e intenta adquirir un bloqueo mantenido por B, que a su vez está esperando a adquirir un bloqueo
mantenido por A ambas transacciones quedarían en espera indefinidamente, dando lugar a un Deadlock.
En general los Sistemas RDBMS ofrecen cláusulas para este bloqueo. Por ejemplo en Oracle soporta
bloqueo pesimista a nivel de fila. La sentencia estándar para el bloqueo es SELECT FOR UPDATE que
hace que todas las sentencias UPDATE o SELECT FOR UPDATE de otras conexiones se bloqueen
hasta que un commit, rollback o deadlock se produzca. Se produce un deadlock cuando un usuario que
tiene la fila A bloqueada intenta bloquear la fila B, mientras que otro usuario tiene la fila B bloqueada e
intenta bloquear la A. En este caso Oracle deshabilita uno de los bloqueos del usuario permitiendo al otro
usuario bloquear ambas filas.

Bloqueo optimista con control de concurrencia: El bloqueo optimista no bloquea los registros que se van a
actualizar y asume que los datos que están siendo actualizados no van a cambiar desde que se han
leído. Puesto que en nuestro caso no se puede asumir esto es necesario un control de la concurrencia,
de esta manera el bloqueo optimista con control de concurrencia asegura que los datos que están siendo
escritos son consistentes con los leídos en primera instancia, es decir que ninguna otra transacción ha
actualizado los datos después de la lectura. El procedimiento para asegurar la consistencia es muy
sencillo: se leerá un valor junto al registro, se actualizará ese valor a la BD cuando el registro es
actualizado.

Existen varios mecanismos asegurar el control de la concurrencia, el más común es el uso de un


timestamp modificado. Este mecanismo sólo ofrece una resolución de un segundo.

Especialización Tecnológica en Seguridad en Redes Página 27


Pág. 28 de
Centro de Teleinformática y Producción Industrial - Regional Cauca
31
Número de Fecha de Creación:
DOC-ESPSRD-012 Preparado por: Esp. Henry Bastidas
Documento: 31/07/2015
Nombre del Documento: Seguridad en Bases de Datos

Tipo Descripción
No todas las Bases de Datos lo soportan y cada una lo
soporta de una manera
Previene a los usuarios y aplicaciones de leer datos que
están siendo modificados
Los usuarios se enteran inmediatamente si no pueden
acceder a una fila
Es fácil de usar
No todas las Bases de Datos lo soportan y cada una lo
Bloqueo pesimista soporta de una manera.
Necesita tener abierta la transacción, el bloqueo sólo es
efectivo si la transacción está abierta.
Mengua la escalabilidad.
Utiliza recursos extra en la base de datos.
Impide a otros usuarios de tener acceso de lectura a los
datos.
Puede producir deadlocks.
Puede producir excesivos bloqueos.
Lo soportan todas las bases de datos
Es fácil de usar.
Bloqueo optimista con No consume recursos extra en la BD.
control de concurrencia No crea bloqueos ni deadlocks.
Es necesario crear triggers en la BD.
Requiere un pequeño trabajo extra.
Retrasa las actualizaciones.
Todas las aplicaciones que actualizan una base de datos
deben conocer el mecanismo de consistencia.

Bloqueo optimista: Es una estrategia donde leer un registro, tomar nota de un número de versión y
compruebe que la versión no ha cambiado antes de escribir el registro nuevamente. Al escribir el registro
nuevo filtro la actualización de la versión para asegurarse de que es atómico. (es decir, no ha sido
actualizado entre cuando compruebe la versión y escribir el registro en el disco) y actualizar la versión en
un hit.

Si el registro es sucio (versión, es decir, diferente a la suya) anula la transacción y el usuario puede
reiniciarlo.
Esta estrategia es más aplicable a sistemas de alto volumen y arquitecturas de tres niveles donde
necesariamente no mantener una conexión a la base de datos para su sesión. En esta situación el cliente
realmente no puede mantener bloqueos de base de datos como las conexiones son tomadas de una
piscina y tal vez no está usando la misma conexión de acceso a la siguiente.

Análisis de Riesgos de bases de Datos.

A medida que las empresas se han vuelto cada vez más dependientes de las computadoras y las redes
para manejar sus actividades, la disponibilidad de los sistemas informáticos se ha vuelto crucial.
Actualmente, la mayoría de las empresas necesitan un nivel alto de disponibilidad y algunas requieren

Especialización Tecnológica en Seguridad en Redes Página 28


Pág. 29 de
Centro de Teleinformática y Producción Industrial - Regional Cauca
31
Número de Fecha de Creación:
DOC-ESPSRD-012 Preparado por: Esp. Henry Bastidas
Documento: 31/07/2015
Nombre del Documento: Seguridad en Bases de Datos

incluso de un nivel continuo de disponibilidad ya que les resultaría extremadamente difícil funcionar sin
los recursos informáticos.

Debido a eso ha surgido la necesidad de asegurar dichos dispositivos como la información que contienen
ante desastres naturales como otras amenazas.

Es así que surge como un impacto positivo la seguridad informática viniendo a suplir las necesidades de
protección de los instrumentos y herramientas necesarias para el funcionamiento de la empresa ante
situaciones críticas.

En la actualidad un tema que ha dado mucho que hablar es la computación en las nubes donde se
pretende alojar la información en servidores externos para protegerlos en caso de cualquier siniestro,
aunque es una muy buena opción la mayoría de empresas desconfían en que otra empresa contenga
información muy delicada de sus actividades.

Otras tecnologías que han venido a facilitar la prevención es la seguridad a través de huellas dactilares,
firmas digitales entre otros. Las políticas y Reglamentos así como los estándares han venido a
proporcionar a las empresas senderos por donde guiarse uno de los estándares más conocidos son el
ISO 27001 y 27002 donde se detalla la forma en que debe de actuar y funcionar las diferentes empresas
para mantener la eficiencia y productividad en sus actividades diarias.

Se podría decir que la seguridad y prevención de los siniestros siempre ocurrirán ganando más fuerza día
a día es así que toda empresa debe de mantener un nivel de seguridad como de prevención continua
para cualquier amenaza.

Al realizar un análisis de los riegos de base de datos, es importante proceder a identificar los equipos o
servidores que tienen una gran importancia para la administración de la información; proteger aquellos
equipos que se consideran son y tienen los datos más importantes, tomar en cuenta todas las
precauciones y tomar las medida de seguridad empleadas en el plan de seguridad para poder eliminar la
posibilidad de los daños que puedan sufrir los equipos, si no es posible anularlo por lo menos es
necesario tratar de minimizar los riesgo lo mas que se pueda. En caso de la persistencia de los riesgos se
puede crear un plan de emergencia para hacer posible que los riesgos se minimicen en gran medida.

Una de los aspectos importante a tener en cuenta dentro del análisis de riesgos de bases de datos es
realizar una clasificación de riesgos que pueden presentarse, el objetivo de clasificar los riesgo radicar en
determinar las amenazas y saber si es un riego alto o bajo. Los riesgos pueden ser bajos si tenemos la
capacidad de contra restarlos y esto pueden ser altos si no contamos con la capacidad necesaria para
eliminarlos o reducirlos.

Dentro de los riesgos altos debido a que son los más comunes y propensos se encuentran:
Desastres Naturales.
Fallas de Hardware.
Acceso no Autorizado.
El Personal.
Incendios.

Riegos bajos
Equipo en mal estado.
Se dañó un proyector.
No pueden imprimir.
La impresora no funciona.

Especialización Tecnológica en Seguridad en Redes Página 29


Pág. 30 de
Centro de Teleinformática y Producción Industrial - Regional Cauca
31
Número de Fecha de Creación:
DOC-ESPSRD-012 Preparado por: Esp. Henry Bastidas
Documento: 31/07/2015
Nombre del Documento: Seguridad en Bases de Datos

Recomendaciones de Seguridad en las Bases de datos

Identifique su sensibilidad “No se puede asegurar lo que no se conoce.”

Confeccione un buen catálogo de tablas o datos sensibles de sus instancias de base de datos. Además,
automatice el proceso de identificación, ya que estos datos y su correspondiente ubicación pueden estar
en constante cambio debido a nuevas aplicaciones o cambios producto de fusiones y adquisiciones.

Desarrolle o adquiera herramientas de identificación, asegurando éstas contra el malware, colocado en


su base de datos el resultado de los ataques de inyección SQL; pues aparte de exponer información
confidencial debido a vulnerabilidades, como la inyección SQL, también facilita a los atacantes incorporar
otros ataques en el interior de la base de datos.

Evaluación de la vulnerabilidad y la configuración

Evalúe su configuración de bases de datos, para asegurarse que no tiene huecos de seguridad. esto
incluye la verificación de la forma en que se instaló la base de datos y su sistema operativo (por ejemplo,
la comprobación privilegios de grupos de archivo -lectura, escritura y ejecución- de base de datos y
bitácoras de transacciones). Asimismo con archivos con parámetros de configuración y programas
ejecutables.

Además, es necesario verificar que no se está ejecutando la base de datos con versiones que incluyen
vulnerabilidades conocidas; así como impedir consultas SQL desde las aplicaciones o capa de usuarios.
Para ello se pueden considerar (como administrador):

Limitar el acceso a los procedimientos a ciertos usuarios.


Delimitar el acceso a los datos para ciertos usuarios, procedimientos y/o datos.
Declinar la coincidencia de horarios entre usuarios que coincidan.

Endurecimiento

Como resultado de una evaluación de la vulnerabilidad a menudo se dan una serie de recomendaciones
específicas. Este es el primer paso en el endurecimiento de la base de datos. Otros elementos de
endurecimiento implican la eliminación de todas las funciones y opciones que se no utilicen. Aplique una
política estricta sobre que se puede y que no se puede hacer, pero asegúrese de desactivar lo que no
necesita.

Audite

Una vez que haya creado una configuración y controles de endurecimiento, realice auto evaluaciones y
seguimiento a las recomendaciones de auditoría para asegurar que no se desvíe de su objetivo (la
seguridad).

Automatice el control de la configuración de tal forma que se registre cualquier cambio en la misma.
Implemente alertas sobre cambios en la configuración. Cada vez que un cambio se realice, este podría
afectar a la seguridad de la base de datos.

Especialización Tecnológica en Seguridad en Redes Página 30


Pág. 31 de
Centro de Teleinformática y Producción Industrial - Regional Cauca
31
Número de Fecha de Creación:
DOC-ESPSRD-012 Preparado por: Esp. Henry Bastidas
Documento: 31/07/2015
Nombre del Documento: Seguridad en Bases de Datos

Monitoreo

Monitoreo en tiempo real de la actividad de base de datos es clave para limitar su exposición, aplique o
adquiera agentes inteligentes de monitoreo, detección de intrusiones y uso indebido.

Por ejemplo, alertas sobre patrones inusuales de acceso, que podrían indicar la presencia de un ataque
de inyección SQL, cambios no autorizados a los datos, cambios en privilegios de las cuentas, y los
cambios de configuración que se ejecutan a mediante de comandos de SQL.

Recuerde que el monitoreo usuarios privilegiados, es requisito para la gobernabilidad de datos y


cumplimiento de regulaciones como SOX y regulaciones de privacidad. También, ayuda a detectar
intrusiones, ya que muchos de los ataques más comunes se hacen con privilegios de usuario de alto
nivel.

El monitoreo dinámico es también un elemento esencial de la evaluación de vulnerabilidad, le permite ir


más allá de evaluaciones estáticas o forenses. Un ejemplo clásico lo vemos cuando múltiples usuarios
comparten credenciales con privilegios o un número excesivo de inicios de sesión de base de datos.

Pistas de Auditoría

Aplique pistas de auditoría y genere trazabilidad de las actividades que afectan la integridad de los datos,
o la visualización los datos sensibles.

Recuerde que es un requisito de auditoría, y también es importante para las investigaciones forenses, La
mayoría de las organizaciones en la actualidad emplean alguna forma de manual de auditoría de
transacciones o aplicaciones nativas de los sistemas gestores de bases de datos. Sin embargo, estas
aplicaciones son a menudo desactivadas, debido a:

Su complejidad
Altos costos operativos
Problemas de rendimiento
La falta de segregación de funciones y la necesidad mayor capacidad de almacenamiento.

Afortunadamente, se han desarrollado soluciones con un mínimo de impacto en el rendimiento y poco


costo operativo, basado en tecnologías de agente inteligentes.

Autenticación, control de acceso, y Gestión de derechos

No todos los datos y no todos los usuarios son creados iguales. Usted debe autenticar a los usuarios,
garantizar la rendición de cuentas por usuario, y administrar los privilegios para de limitar el acceso a los
datos.

Implemente y revise periódicamente los informes sobre de derechos de usuarios, como parte de un
proceso de formal de auditoría.

Utilice el cifrado para hacer ilegibles los datos confidenciales, complique el trabajo a los atacantes, esto
incluye el cifrado de los datos en tránsito, de modo que un atacante no puede escuchar en la capa de red
y tener acceso a los datos cuando se envía al cliente de base de datos.

Especialización Tecnológica en Seguridad en Redes Página 31