Está en la página 1de 25

Administracin de Bases de Datos

Seguridad en Bases de Datos (Oracle)

Ing. Juan Carlos Leonardo

Integrantes:
Gabriel Jimnez
Jimmy Ayala
Byron Cambar
Joaqun Caldern

31 de Octubre 2014

ndice

Evaluacin: .................................................................................................................................................. 2
Introduccin ................................................................................................................................................ 3
Objetivos ..................................................................................................................................................... 4
Marco Terico.............................................................................................................................................. 5
Contraseas Dbiles o por Defecto ................................................................................................................ 5

Inyeccin SQL ................................................................................................................................................. 7

Privilegios de grupo y usuarios excesivos ..................................................................................................... 10

Funciones o caractersticas innecesarias del DBMS habilitadas .................................................................. 12

Gestin de la configuracin rota (broken configuration management) ...................................................... 13

Sobre flujo de Buffers (Desbordamiento de Bfer) ....................................................................................... 14

Escalada de Privilegios ................................................................................................................................. 15

Denegacin de Servicios ............................................................................................................................... 17

DBMS no Actualizados ................................................................................................................................. 19

Datos no Encriptados ................................................................................................................................... 20

Conclusiones .............................................................................................................................................. 22
Bibliografa ................................................................................................................................................ 23

Administracin de Bases de Datos // Seguridad en las Bases de Datos

Evaluacin:
A continuacin la evaluacin para cada miembro del grupo:
Gabriel Jimnez

100%

Jimmy Ayala

100%

Byron Cambar

100%

Joaqun Caldern

100%

Administracin de Bases de Datos // Seguridad en las Bases de Datos

Introduccin
La seguridad en bases de datos es un tema crucial para la sustentabilidad de una
organizacin hoy en da. En el seno de los data warehouse y data centers estn cifrados
como objetivos de ataques, por el valor potencial de la informacin que contienen. Es por
esta razn que los grandes gestores de bases de datos en el mercado, utilizan el nivel de
seguridad que ofrece su producto como estandarte para el incremento de su adquisicin.
En el trabajo a continuacin se da a conocer el caso particular de Oracle en cuyo contenido,
se prestara especial nfasis a 10 puntos que amenazan la seguridad en las bases de datos,
desde la perspectiva de este gestor:
1. Contraseas dbiles o por defecto
2. Inyeccin SQL
3. Privilegios de grupo y usuario excesivos
4. Funciones o caractersticas innecesarias del DBMS habilitadas
5. Gestin de la configuracin rota (broken configuration management)
6. Sobreflujo de buffers (buffers overflow)
7. Escalada de privilegios (privilege escalation)
8. Denegacin de servicio (DOS: Denial of Service)
9. DBMS no actualizados (sin parches)
10. Datos no encriptados

Los patrones que rigen la seguridad en la informacin tanto denotados en la norma ISO
27000 como en cualquier otro lineamiento en trminos de seguridad y sobre los cuales se
estar desglosando la explicacin es en cuanto a puntos de:
Identificacin de vulnerabilidades.
Evaluacin.
Control de las mismas.
Administracin de Bases de Datos // Seguridad en las Bases de Datos

Objetivos
1. Analizar la seguridad en el gestor de bases de datos ORACLE basado en los
parmetros provistos.

Administracin de Bases de Datos // Seguridad en las Bases de Datos

Marco Terico
Contraseas Dbiles o por Defecto
Al crear una base de datos en el gestor Oracle, el software crea automticamente dos
usuarios con rol DBA: SYS Y SYSTEM. Estos usuarios por defecto, tienen sus respectivas
contraseas. He aqu un punto que para un administrador de bases de datos no puede pasar
por alto, que es inmediatamente creada la base de datos esta informacin sea modificada,
ya que en caso de no hacerlo se corre el inminente riesgo de sufrir un traspaso a ese control
de seguridad al ser una contrasea genrica para todas las bases de datos de Oracle.

A continuacin estn dichas contraseas:


Contrasea por defecto del usuario SYS: change_on_install
Contrasea por defecto del usuario SYSTEM: manager

Para cambiar la contrasea del usuario SYS o SYSTEM (o de cualquier otro usuario) de una
base de datos Oracle, desde la interfaz de lnea de comandos, se debe conectar a la base de
datos con la utilidad sqlplus y ejecutar el siguiente comando:
ALTER USER [SYS|SYSTEM|usuario] IDENTIFIED BY passwd; ( (JavierRF, 2010)
Otro punto muy relevante a tener en cuenta en la seguridad que puede proporcionar una
contrasea es el cifrado de la misma. No se puede hablar de seguridad sino se tiene en
cuenta la encriptacin de la informacin a travs de sus mtodos y tcnicas de algoritmos
de cifrado, la longitud de la clave de cifrado as como la clave proporcionada para la creacin
del fichero.
Ahora bien, de manera particular en Oracle, en forma predeterminada las contraseas de
usuario se cifran con el algoritmo crypt_unix. Esta no es la nica forma, ya que si se desea
utilizar un algoritmo ms seguro como MD5, Blowfish. Oracle en sus guas de administracin
de sistemas contiene informacin en cuanto a los servicios de seguridad que establecen los
comandos y procedimientos para especificar los algoritmos de cifrado en mencin.

Administracin de Bases de Datos // Seguridad en las Bases de Datos

Una de las medidas de seguridad que se pueden tomar en para proteger la base de datos
Oracle es asignarle una funcin de verificacin a las contraseas de usuario para requerirles
una contrasea lo suficientemente segura; como por ejemplo de una longitud determinada,
que contenga caracteres especiales, nmeros, que no sea igual que el nombre de usuario,
etc. ( (Oracle, s.f.))

Administracin de Bases de Datos // Seguridad en las Bases de Datos

Inyeccin SQL
La inyeccin de cdigo SQL es un ataque en el cual un cdigo malicioso es insertado en
cadenas que luego pasan a una etapa de SQL Server para su ejecucin. Todos los
procedimientos que generan instrucciones SQL deben ser validados para encontrar
vulnerabilidades en inyeccin de cdigos, ya que si una consulta es insertada SQL Server la
ejecutara siempre y cuando su sintaxis este correctamente expresada. La forma principal de
inyeccin de cdigo SQL es donde se insertan cadenas entre concatenacin de datos sobre
variables especificadas por el usuario. Otra forma en la que este tipo de ataques pueden ser
direccionados es a travs de cadenas que estn destinadas a almacenarse como tabla o
como metadatos.

El costo de un ataque de inyeccin SQL "menor" excede la suma de 196 mil dlares. Las
organizaciones deben darse cuenta del verdadero costo de un incidente y aprender cmo
una pequea inversin podra reducir las prdidas en casi 95%. Estudio de caso: "Extraccin
masiva de datos a travs de inyeccin SQL". La mayora de los desarrolladores de
aplicaciones subestiman el riesgo de inyecciones SQL contra aplicaciones que utilizan Oracle
como su gestor de bases de datos. Las auditorias de aplicaciones web muestran muchos
desarrolladores de aplicaciones que no estn completamente conscientes del riesgo de
inyecciones SQL y las sencillas tcnicas para prevenir dichos ataques.

Las aplicaciones web que utilizan Oracle como su gestor de bases de datos son ms
vulnerables a inyecciones SQL que lo que la mayora de desarrolladores de aplicaciones
suponen. Los auditores de estas aplicaciones han encontrado que las aplicaciones web son
vulnerables a inyecciones SQL aun cuando poseen, solidos estndares de cdigos en el
desarrollo de las mismas. Los ataques de inyecciones SQL basados en funciones son de gran
preocupacin, ya que estos ataques no requieren conocimiento de la aplicacin y pueden
ser fcilmente reproducidos y automatizados.

Administracin de Bases de Datos // Seguridad en las Bases de Datos

Afortunadamente las inyecciones SQL son sencillas de controlar con simples prcticas de
comandos. Sin embargo, cada parmetro trasladado a una sentencia dinmica SQL debe ser
validado o variables atadas deben ser usadas.

Oracle en trminos generales, logra controlar ataques de inyecciones SQL ya que no hay
sentencias mltiples de apoyo como si lo hay en SQL Server y PostgresSQL, no hay
sentencias de ejecucin como si lo tiene SQL Server, y no hay funcin INTO OUTFILE; que
son los mtodos ms frecuentes utilizados para explotar las vulnerabilidades de inyecciones
SQL. El uso de variables atadas en ambientes Oracle para razones de rendimiento provee la
ms efectiva medida de proteccin contra los ataques de inyeccin SQL. Oracle podr tener
menos vectores de acceso para ataques por inyecciones SQL que otras bases de datos, mas
basado en aplicaciones si defesas apropiadas contra este tipo de ataques, puede ser
vulnerable y fcilmente transgredido a travs de inyecciones SQL. En funcin de los
comparativos, los gestores de open source, son todava ms vulnerables al ser entregadas
en cdigo nativo, los atacantes pueden encontrar sentencias potencialmente vulnerables
antes de un ataque. (Help Net Security, 2014)

Existen cuatro categoras de ataques de inyecciones SQL contra bases de datos Oracle:
1. Manipulacin SQL.
2. Inyeccin de Cdigo.
3. Inyeccin de Funcin Call.
4. Saturar el bfer.

Las primeras dos categoras son las ms ampliamente conocidas ya que son el comn
denominador como las principales vas de acceso a un ataque en todas las bases de datos.
(MySQL, SQL Server, Oracle y PostgreSQL) (Integrigy Corporation, s.f.)

Administracin de Bases de Datos // Seguridad en las Bases de Datos

Una aplicacin es vulnerable a inyeccin SQL por una sola razn, cadenas y concatenados
de usuarios finales no son debidamente validados y los mismos pasan a la sentencia
dinmica SQL sin dicha revisin.

La entrada de la cadena es usualmente trasladada

directamente a la sentencia SQL. Sin embargo, la entrada del usuario puede ser almacenada
en la base de datos y ser luego trasladada a una sentencia dinmica SQL, referida como
inyeccin SQL de segundo orden. Por la naturaleza inestable de muchas de las aplicaciones
web, es comn escribir informacin en la base de datos o almacenarla utilizando otros
medios entre pginas web. Este tipo indirecto de ataque es mucho ms complejo y requiere
conocimiento a detalle de la aplicacin. Lo que NO es vulnerable es el uso de sentencias
dinmicas SQL utilizando variables atadas, esto protege en gran medida contra inyecciones
SQL, como la base de datos Oracle usara el valor de la variable atada exclusivamente y no
interpretara los contenidos de la variable en el curso. El atar variables es ampliamente
utilizado tanto para razones de seguridad como de rendimiento.

Bajo el mismo conglomerado sostenido, los ataques de inyecciones SQL pueden ser
fcilmente controlados con simples cambios de programacin, sin embargo los
desarrolladores deben disciplinarse lo suficiente para poder aplicar los mtodos para todo
procedimiento y funcin accesible en la web. Toda sentencia dinmica de SQL debe ser
protegida. Una sola sentencia SQL sin proteccin puede inmiscuir a la aplicacin, la data o
el servidor de la base de datos. Las variables atadas son la ms poderosa proteccin contra
las inyecciones SAQL. El uso de variables atadas mejorara tambin el rendimiento. Ninguna
sentencia SQL debera ser creada por concatenado de cadenas y parmetros. Las variables
atadas deberan ser usadas para cada sentencia SQL independientemente de cuando y
donde la sentencia SQL sea ejecutada. El uso de variables atadas es sencillo, pero si requiere
al menos una lnea ms de cdigo por cada variable. Ya que una sentencia SQL tpica puede
llegar a utilizar 10-20 valores, el esfuerzo adicional en comandos es sustancial por tal razn.

Administracin de Bases de Datos // Seguridad en las Bases de Datos

Privilegios de grupo y usuarios excesivos


Una de las tareas al administrar Oracle es permitir el acceso a bases de datos y asignar
permisos sobre los objetos que conforman una base de datos. Para conectarnos con un
servidor Oracle necesitamos un modo de acceso que incluye los permisos que dispondremos
durante la conexin; estos permisos se definen a partir de un nombre de usuario.
Un USUARIO es un identificador necesario para acceder a una base de datos. Un usuario es
un conjunto de permisos que se aplican a una conexin de base de datos. Un usuario es
adems propietario de ciertos objetos. Los PRIVILEGIOS (permisos) especifican qu
operaciones puede realizar un usuario y sobre qu objetos de la base de datos tiene
autorizacin, es decir, qu tarea puede realizar con esos objetos y si puede emitir
determinadas instrucciones. Estas operaciones pueden ser de dos tipos: de sistema y sobre
objeto. Un rol de base de datos es una agrupacin de permisos de sistema y de objeto. Un
ROL (role) es un grupo de usuarios; permite agrupar usuarios para aplicarles permisos; as,
al agregar un nuevo usuario a la base de datos, no es necesario concederle permiso para
cada objeto, sino que lo agregamos a un rol; cuando asignamos permisos sobre un objeto
al rol, automticamente el permiso afectar a los usuarios que pertenezcan a tal rol.
Los permisos controlan el acceso a los distintos objetos de una base de datos; pueden
concederse a nivel de usuario (individualmente) o a nivel de rol (a todos los usuarios de un
grupo).Los permisos que un usuario tiene en una base de datos dependen de los permisos
de usuario y de los roles al que pertenezca dicho usuario. Usuarios, roles y permisos son la
base de los mecanismos de seguridad de Oracle. La gestin de derechos de procesos
permite restringir procesos en el nivel de comando, usuario, rol o sistema. Oracle Solaris
implementa la gestin de derechos de procesos a travs de privilegios. Los privilegios
disminuyen el riesgo de seguridad asociado a un usuario o un proceso que tiene
capacidades completas de superusuario en un sistema. Los privilegios y RBAC ofrecen un
modelo alternativo eficaz al modelo de superusuario tradicional.

Administracin de Bases de Datos // Seguridad en las Bases de Datos

El modelo de privilegios proporciona mayor seguridad que el modelo de superusuario. Los


privilegios que se eliminaron de un proceso no se pueden utilizar. Los privilegios de
proceso impiden que un programa o una cuenta administrativa obtengan acceso a todas
las capacidades. Los privilegios de proceso pueden proporcionar una proteccin adicional
para los archivos confidenciales, en donde las protecciones de DAC solamente pueden
utilizarse para obtener acceso.
Los privilegios pueden restringir programas y procesos a las capacidades que el programa
necesita nicamente. Esta capacidad se denomina principio de privilegio mnimo. En un
sistema que implementa este principio, un intruso que captura un proceso tiene acceso
slo a aquellos privilegios que tiene el proceso. El resto del sistema no corre peligro.
(Oracleya, s.f.)

Administracin de Bases de Datos // Seguridad en las Bases de Datos

Funciones o caractersticas innecesarias del DBMS habilitadas

Las funciones o caractersticas innecesarias para la correcta operatividad del DBMS


deberan ser inhabilitadas por motivos de seguridad y performance.

Tanto por

sobrecarga del bfer y distribucin de memoria, es altamente recomendable tener


cubierto todos los posibles agujeros que pudieran vulnerar la seguridad del motor.

Los diseos de seguridad son a menudo enfocados al proceso operacional y eso conlleva
a segregacin de obligaciones. Esto implica que los usuarios con acceso a excesivas e
innecesarias funciones y en algunos casos, informacin confidencial. La seguridad debe
ser construida desde las bases solo permitiendo accesos de las funciones y formas
requeridas.

Este apartado va muy de la mano con los privilegios otorgados, ya que otorgar
privilegios que no competen a un usuario puede colocar en riesgo, por libre acceso a
informacin sensible. A su vez el tener ms funciones de las que se requieren es un
riesgo porque al no utilizarse, puede ser porque no se requieren o porque se desconoce
el uso de las mismas.

El poder mantener un control acertado sobre todas las posibles reas vulnerables
requiere el conocimiento de las mismas; por lo cual es imperativo conocer e identificar
todas las funciones y caractersticas del gestor con el fin de poder controlar las
potenciales vulnerabilidades que presente.

Administracin de Bases de Datos // Seguridad en las Bases de Datos

Gestin de la configuracin rota (broken configuration management)


Oracle proporciona una base slida para las aplicaciones y los datos de la empresa
mediante la proteccin de los datos que se encuentran en el disco o en trnsito. El
administrador de recursos de Oracle Solaris (gestin de recursos) y las zonas de Oracle
Solaris proporcionan funciones que alejan y protegen a las aplicaciones del mal uso. Esta
contencin, junto con el privilegio mnimo implementado mediante privilegios y la
funcin de control de acceso basado en roles (RBAC) de Oracle Solaris, reduce el riesgo
de seguridad que puedan causar los intrusos o los usuarios comunes. Los protocolos
encriptados y autenticados, como la seguridad IP (IPsec), proporcionan redes privadas
virtuales (VPN) a travs de Internet y tambin tneles dentro de una LAN o una WAN
para que la entrega de datos sea ms segura. Adems, la funcin de auditora de Oracle
Solaris garantiza que se guarden los registros de cualquier actividad de inters.
Los servicios de seguridad de Oracle Solaris 11 brindan una proteccin profunda, ya que
ofrecen capas de proteccin para el sistema y para la red. Oracle Solaris protege el
ncleo limitando, dentro de las utilidades del ncleo, las acciones que la utilidad puede
realizar. La configuracin de red predeterminada protege los datos en el sistema y en
toda la red. IPsec, la funcin de filtro IP de Oracle Solaris, y Kerberos pueden brindar
protecciones adicionales. Los servicios de seguridad de Oracle Solaris incluyen:
Proteccin del ncleo: privilegios y permisos de archivos protegen los daemons y los
dispositivos del ncleo. Proteccin de los inicios de sesin: se requiere una contrasea
para iniciar sesin. Las contraseas tienen un cifrado fuerte. De manera inicial, los inicios
de sesin remotos estn limitados a un canal autenticado y cifrado mediante la funcin
Secure Shell de Oracle Solaris. La cuenta root no puede iniciar sesin directamente.
Proteccin de datos: permisos de archivos protegen los datos en el disco. Se pueden
configurar capas adicionales de proteccin. Por ejemplo, puede utilizar las listas de
control de acceso (ACL), situar los datos en una zona, cifrar un archivo, cifrar un conjunto
de datos ZFS de Oracle Solaris, crear un conjunto de datos ZFS de slo lectura y montar
sistemas de archivos para que no se puedan ejecutar ni los programas de setuid ni los
archivos ejecutables. (Oracle, s.f.)

Administracin de Bases de Datos // Seguridad en las Bases de Datos

Sobre flujo de Buffers (Desbordamiento de Bfer)


Cuando hablamos del desbordamiento de bfer nos referimos a una anomala que
puede suceder cuando un programa est escribiendo data a un bfer y sobrepasa los
lmites de este y sobrescribe en la memoria adyacente, un desbordamiento de bfer
puede ser desencadenado por inputs que estn diseos para ejecutar algn cdigo, o
alterar la manera en que programas o bases de datos operan. Esto lo ms seguro es que
desencadene en comportamientos errticos, errores de acceso a la memoria, resultados
incorrectos, cadas, o en el caso ms grave en vulnerar el sistema de seguridad. Debido
a esto son utilizados muy frecuentemente para fines ilegales. Mediante este tipo de
ataque se puede llegar tambin a desencadenar una ataque DOS a la base de datos de
un sistema.
El desbordamiento de bfer por lo general depende del uso de dos tcnicas y
usualmente la combinacin de ambas, las cuales son, escribir datos en una direccin
particular de la memoria y hacer que el sistema operativo maneje mal el tipo de data.
Oracle ha hecho lo posible para poder lidiar con estos problemas, pero a pesar de tos
sus esfuerzos ha tenido problemas como el siguiente que se produca cuando las
funciones de conversin reciban una solicitud con una cadena larga como segundo
parmetro. Debido a que el acceso a las referidas funciones no se encontraba restringido,
cualquier usuario de Oracle Database poda explotar esta vulnerabilidad, teniendo la
posibilidad de ejecutar cdigo arbitrario o de provocar un DOS, al provocar la cada del
proceso Oracle. Afortunadamente para los usuarios de este DBMS cada vez que surgen
problemas similares rpidamente se lanzan los parches para corregirlos.
Hay algunas tcnicas para prevenir este tipo de ataques, dentro de estas estn:
Auditoria del cdigo del programa que se conecta a la BD, ya sea manual o automtica.
Entrenar de una manera eficiente al personal.
Siempre se deben tener actualizadas a la ltima versin las bases de datos, esto se hace
ya que a medida pasa el tiempo van saliendo parches que aumentan la seguridad de la
misma y pueda que resuelva problemas relacionados con ese tipo de ataques.
(CSE University, s.f.)

Administracin de Bases de Datos // Seguridad en las Bases de Datos

Escalada de Privilegios
El ataque de escalada de privilegios consiste en la explotacin de un error o de una
falla de diseo en una aplicacin de software que est destinada a ganar acceso a recursos
que generalmente estn protegidos contra una aplicacin o usuario. El resultado es que la
aplicacin permite acciones con privilegios mayores a los aceptables para el nivel de un
usuario en especfico. Hay tres formas principales de escalada de privilegios:
1. Escalada de privilegios vertical, se considera que este tipo de escalada es el ms
peligroso que hay, ya que un usuario de menor nivel obtiene derechos de un usuario
de mayor nivel un ejemplo claro de esta es que un usuario al que solo se le permita
lectura obtenga permisos de administrador. Esto puede generar problema ya que un
usuario administrador puede hacer y deshacer muchas cosas en la base de datos y
en el sistema.
2. Tambin est la escalada de privilegios horizontal que es cuando un usuario con
acceso a una base de datos en especfica obtiene acceso a otra base de datos, como
por ejemplo que un usuario que tenga acceso a la base de datos de contabilidad
obtenga acceso a la de auditoria o de recursos humanos.
3. Y finalmente esta la desescalada de privilegios, esta si se hace de una manera
correcta le puede quitar acceso a cierto privilegios sobre una base de datos, es decir
volver a un usuario administrador un usuario de solo lectura lo cual si lo pensamos
bien es algo que puede ser peligroso porque si hacemos esto con el usuario que se
encarga de realizar los respaldos este no va a poder realizarlos y estaremos expuesto
a perdida de informacin o que quedemos sin poder acceder a informacin que
como usuarios de mayor nivel tenamos acceso.
Uno de los mayores problemas que se tienen dentro de las organizaciones
relacionadas a la escalada de privilegios es el acceso de los usuarios a las bases de datos y
se debe a que raramente dentro de la organizacin se documenta quien tiene acceso a qu
cosa o cuanto acceso tienen a material sensitivo dentro de la base de datos.

Administracin de Bases de Datos // Seguridad en las Bases de Datos

Recomendaciones para evitar la escalada de privilegios


Dentro de las recomendaciones que se pueden dar para evitar este tipo de ataques
estn:
1. Darle a los usuarios los privilegios requeridos para cumplir las tareas en especfico
que debern realizar.
2. Documentar todos los derechos que tiene cada usuario.
3. Los privilegios no se deben de asignar directamente al usuario sino ms bien a los
roles o grupos.
4. Implementacin de una solucin de manejo de privilegios de usuario, que le ayude
a la empresa a identificar usuarios que abusan de sus privilegios.
(Rothacker, 2010)

Administracin de Bases de Datos // Seguridad en las Bases de Datos

Denegacin de Servicios
DOS es una ataque informtico dirigido tanto a redes como a sistemas
computacionales, esto causa que un servicio se vuelva inaccesible para los usuarios, esto
normalmente es provocado por el alto consumo de ancho de banda de la red de la vctima
o por la sobrecarga que reciben los sistemas computacionales del sistema de la vctima. Hay
muchas maneras de hacer que un servicio (red, sistema computacional) quede fuera de
servicio entre las cuales est la manipulacin de paquetes de red y la manipulacin de las
vulnerabilidades de los recursos.
Pero cuando nos referimos a una base de datos como Oracle hay cuatro motivos
principales por las que un DOS se puede dar las cuales son, Abuso de Funciones, Consultas
Complejas, Errores y Defectos, Uso de la Aplicacin.
Abuso de Funciones
Cuando nos referimos al abuso de funciones es cuando un atacante hace que una
funcin de la base de datos se comporte de una manera que no es la correcta, normalmente
esto ocurre cuando un comando de la base de datos confunde a esta misma, al analizador
de consultas o a un subproceso lo cual va a generar que la base de datos se bloquee o
quede fuera de servicio. Se cree que este tipo de ataque DOS a bases de datos es el ms
comn. Uno de los ataques ms comunes es cuando el atacante manda llamadas a
procedimientos remotos malformadas lo cual confunde al analizador y simplemente hace
que se detenga.
Consultas Complejas
Este es un ataque que se basa en darle mucho trabajo a la base de datos para que
se bloquee sola, en este el atacante encuentra los procesos que ms consumen recursos que
estn accesibles y pone en ejecucin unos cuantos para as poder bloquear la base de datos.
Entre los procesos ms comunes que se utilizan esta, consultas anidadas y recursin,
productos cartesianos y uniones, funciones definidas por el usuario. Los atacantes siempre
van a buscar explotar cualquier consulta compleja para as poder hacer que la base de datos
reduzca su velocidad y llegue al punto de detenerse.

Administracin de Bases de Datos // Seguridad en las Bases de Datos

Errores y Defectos
En este tipo el atacante ataca defectos teniendo como objetivos debilidades o errores
de la base de datos, para esta el atacante tiene que tener un conocimiento o adivinar qu
tipo de base de datos estamos utilizando y conocer as mismo debilidades en el cdigo o
diseo de la misma para poder reducir su velocidad de respuesta y as que agote los recursos
internos o que se detenga. Se dice que los desarrolladores de bases de datos y el equipo
que se encarga de probarlas por lo general solo se fija en que las nuevas caractersticas
funciones pero que rara vez realizan pruebas para detectar errores que puedan producir un
ataque DOS por lo cual cuando un nuevo producto sale los atacantes se dedican a detectar
estos errores y hacerlos pblicos, lo cual genera ataques a aplicaciones que utilizan estas
bases de datos.
Uso de la Aplicacin
En este tipo el atacante lo que hace es que usa la misma aplicacin para sobrecargar
la base de datos, uno de los escenarios ms comunes se da en los sitios de venta, en donde
el atacante agrega miles de productos a un carrito de compra y est refrescando el carrito,
la base datos debe de verificar cada producto del carrito, por lo cual genera consultas a su
inventario, en sitio pequeos unas cuantas de estas consultas pueden hacer que el sitio
quede inaccesible.
Prevencin de ataques DOS
Para prevenir ataque se puede configurar Director de Trfico de Oracle (Oracle Traffic
Director) para que deniegue solicitudes cuando la frecuencia de estas o el nmero de
conexiones concurrentes superan un lmite establecido. Se pueden definir lmites para
solicitudes y configurar cada lmite para que se aplique a solicitudes que concuerden con
patrones URL especficos y patrones de cadenas de consultas, requerir encabezados que
concuerden con valores especficos entre otros.
Tambin se recomienda tener actualizado el DBMS ya que a medida se van dando a
conocer problemas los creadores del DBMS sacan actualizaciones reparando los fallos que
se puedan presentar. (Lane, 2013) (Lane, Database Denial of Service: Attacks, 2013)

Administracin de Bases de Datos // Seguridad en las Bases de Datos

DBMS no Actualizados
A medida que el mercado de los DBMS crece, se hacen cada vez ms seguras porque debido
a que siempre hay gente que busca vulnerar estos sistemas mediante diversos medios los
cuales incluyen los antes mencionados en este documento. Siempre antes del lanzamiento
de una nueva versin de un DBMS se le realizan muchas pruebas para constatar que este no
tenga problemas una vez lanzado al mercado, pero como todo producto informtico
siempre tiene sus fallas y sus desperfectos debido a que no hay un sistema perfecto.
Casi siempre inmediatamente despus del lanzamiento de un nuevo DBMS las
personas que se dedican a los ataques a sistemas y bases de datos entran en la labor de
buscar las vulnerabilidades, errores y fallos, con el objetivo de publicarlas al resto y
permitirles realizar ataques a estos sistemas. Afortunadamente a su vez se dan cuenta los
desarrolladores de los DBMS los cuales siempre que sale una nueva vulnerabilidad o fallo,
lanzan una actualizacin para corregirla.
Una DBMS no actualizada representa un gran riesgo para la empresa, debido a que est
expuesta a muchos fallos y vulnerabilidades que los atacantes ya conocen y saben cmo
sacar provecho de ellos, es prcticamente dejarle la puerta a los atacantes para que hagan
lo que quieran dentro de la casa. Esto podr generar problemas graves como la escalada de
privilegios y ataques DOS por mencionar algunos. Cabe mencionar que a lo largo del tiempo
la compaa Oracle ha venido combatiendo esto, cada vez que se presenta un fallo que
permita que uno de esos ataques se reproduzcan ellos mediante actualizaciones solucionan
esas fallas de sistema. Debido a esto en algunas empresas es una poltica de seguridad de
primer nivel mantener actualizados los DBMS ya que les proporciona una mayor seguridad
y evita futuros problemas como el robo de informacin, quedar fuera de lnea y que nuestros
clientes no puedan acceder a los servicio que proporcionamos, que nuestros usuarios
pierdan privilegios y que por consiguiente no puedan desempearse de la manera correcta
en sus puestos de trabajo y se pierda tiempo que casi nunca se tiene resolviendo problemas
que con una actualizacin del DBMS no hubiera pasado.

Administracin de Bases de Datos // Seguridad en las Bases de Datos

Datos no Encriptados
En la actualidad una prctica comn que se tiene cuando se trabaja con bases de
datos y con cualquier sistema es la encriptacin de la data, esto se hace con el objetivo de
tener una mayor seguridad y que sea ms difcil para un posible atacante poder descifrar la
informacin que est deseando conseguir. Cuando uno rechaza a trabajar con datos
encriptados abre las puertas a que personas mal intencionadas puedan interceptar
paquetes cuando se realizan operaciones dentro de la base datos y poder conseguir de
una manera muy sencilla informacin como contraseas, nmeros de tarjetas de crdito,
cdigos CVV2, seguro social e informacin sensitiva con la cual le pueden generar mucho
dao a las personas a las cuales se les sustrajo.
Cabe mencionar que no toda la informacin debe estar encriptada, hay data que se
puede transmitir sin encriptar y que no va a generar ningn problema si llega a ser
interceptada, pero de igual manera siempre se debe de buscar la manera de encriptar toda
aquella que es sensitiva tanto para los clientes como para la misma empresa.
Debido a lo anterior mencionado y que siempre se debe buscar la seguridad en
todo momento se recomienda siempre implementar algn tipo de encriptacin siempre ya
que como sabemos, en un DBMS, es de vital importancia asegurar que la informacin viaje
segura. Entre las ventajas que nos ofrece la encriptacin de la data estn:
1. Integridad de la informacin: la integridad de la data es una proteccin contra la
modificacin de los datos en forma intencional o accidental. El emisor protege la
data, incorporndole a ese un valor de control de integridad, que corresponde a un
valor nico, calculado a partir del contenido del mensaje al momento de su
creacin. El receptor deber efectuar el mismo clculo sobre la data recibida y
comparar el valor calculado con el enviado por el emisor. De coincidir, se concluye
que la data no ha sido alterada durante la transferencia.
2. Autenticidad del origen del mensaje: este aspecto de seguridad protege al receptor
de la data, garantizndole que dicho mensaje ha sido generado por la parte
identificada en la data como emisor del mismo, no pudiendo alguna otra entidad
suplantar a un usuario del sistema.

Administracin de Bases de Datos // Seguridad en las Bases de Datos

3. No repudio del origen: el no repudio de origen protege al receptor de la data de la


negacin del emisor de haberlo enviado. Este aspecto de seguridad es ms fuerte
que los anteriores ya que el emisor no puede negar bajo ninguna circunstancia que
ha generado dicho mensaje, transformndose en un medio de prueba inequvoco
respecto de la responsabilidad del usuario del sistema. (Thakur, s.f.)

Administracin de Bases de Datos // Seguridad en las Bases de Datos

Conclusiones
1. La seguridad en los gestores de bases de datos tales como Oracle, recala en gran medida en
la cultura de disciplina de los desarrolladores de aplicaciones y los controles para
aplicaciones web interrelacionadas con la base de datos.
2. Las sentencias deben ser constantemente validadas as como acompaadas por variables
atadas para evitar y minimizar los riesgos por inyecciones SQL.
3. El administrador de bases de datos debe manejar y contemplar los privilegios que cada
usuario posea y monitorearlo peridicamente.
4. Es necesario identificar todas las funcionalidades del motor para poder generar medidas de
control o inhabilitar dichas funciones por potenciales vulnerabilidades.
5. No es recomendable trabajar con datos no encriptados, por la exposicin a un ataque sin
una lnea de defensa segura.
6. Se debe trabajar integralmente para que el motor trabaje de forma eficiente, en funcin de
caractersticas, configuraciones consultas y no sobrecargar el bfer que afecte el
rendimiento del software.

Administracin de Bases de Datos // Seguridad en las Bases de Datos

Bibliografa
CSE University. (s.f.). Obtenido de CSE:

http://www.cse.scu.edu/~tschwarz/coen152_05/Lectures/BufferOverflow.html

Frankil, E. B. (2007). Auditora Administrativa. Mxico: Pearson Educacin.

Help Net Security. (31 de Marzo de 2014). Coordinacin de Seguridad en la Informacin. Obtenido

de Seguridad.Unam.mx: http://www.seguridad.unam.mx/noticia/?noti=1647

Integrigy Corporation. (s.f.). Integrigy. Obtenido de http://www.integrigy.com/security-

resources/introduction-sql-injection-attacks-oracle-developers

JavierRF. (21 de June de 2010). Wordpress.com. Obtenido de

http://vjavierf.wordpress.com/2010/06/21/cambiar-password-sys-y-system/)

Lane, A. (06 de Marzo de 2013). Application Security // Database Security. Obtenido de

DarkReading.com: http://www.darkreading.com/application-security/database-

security/dos-in-your-database/d/d-id/1139881?

Lane, A. (Julio de 2013). Database Denial of Service: Attacks. Obtenido de https://securosis.com/:

https://securosis.com/blog/database-denial-of-service-the-attacks

Administracin de Bases de Datos // Seguridad en las Bases de Datos

Oracle. (s.f.). Directrices de Seguridad Oracle Solaris. Obtenido de Oracle.com:

http://docs.oracle.com/cd/E26921_01/html/E25815/ovw-25.html

Oracle. (s.f.). Guia de Administracin del Sistema. Obtenido de Oracle.com:

http://docs.oracle.com/cd/E24842_01/html/E23286/secsystask-42.html

Oracleya. (s.f.). Obtenido de Oracleya.com:

http://www.oracleya.com.ar/temarios/descripcion.php?cod=276&punto=118

Rothacker, A. (27 de Julio de 2010). Escalating Privileges in DataBase can wreck Havoc. Obtenido

de http://threatpost.com/escalating-privileges-database-can-wreak-havoc-072710/74263

Thakur, D. (s.f.). What is Data Encryption in DBMS? Obtenido de http://ecomputernotes.com/:

http://ecomputernotes.com/database-system/adv-database/data-encryption

Administracin de Bases de Datos // Seguridad en las Bases de Datos

También podría gustarte