Está en la página 1de 14

IV. Redes, Comunicaciones e Internet.

Seguridad en el nivel de aplicacin: proteccin de


servicios web, bases de datos, e interfaces de
usuarios

Contenido
Introduccin ................................................................................................................................ 22
Seguridad en las interfaces de usuario ....................................................................................... 22
Autenticacin en las aplicaciones o servicios.......................................................................... 22
Autorizacin del sistema ......................................................................................................... 23
Adecuado manejo de excepciones.......................................................................................... 23
Correcta validacin de datos de entrada ................................................................................ 24
Trazabilidad y auditoras ......................................................................................................... 25
Necesidades legales ................................................................................................................ 25
Seguridad servicios Web ............................................................................................................. 26
WS-Security ............................................................................................................................. 26
Aspectos a tener en cuenta en la seguridad de servicios web ............................................... 28
Autenticacin ...................................................................................................................... 28
Autorizacin ........................................................................................................................ 29
Integridad y confidencialidad de los datos ......................................................................... 29
No repudio .......................................................................................................................... 29
Especificaciones que ataen a la seguridad en servicios web ................................................ 30
Seguridad de las bases de datos ................................................................................................. 32
Vulnerabilidades y ataques contra las bases de datos............................................................ 32
Referencias .................................................................................................................................. 34

111. Anexo Seguridad en el Nivel de Aplicacin

21

IV. Redes, Comunicaciones e Internet.

Introduccin
El uso masivo de las tecnologas de la informacin y las telecomunicaciones (TIC) en todos los
mbitos de la sociedad, y ms concretamente de aplicaciones donde cada vez se realizan
trmites ms crticos, demanda que la seguridad sea un aspecto fundamental y necesario en
todo el proceso de digitalizacin en el que estamos inmersos.
Desde el punto de vista de la seguridad en el nivel de aplicacin, cobran especial importancia
algunos de los elementos clave de su infraestructura como son las interfaces de usuario, los
servicios web y las bases de datos.
Para cada uno de ellos se van a destacar principalmente cuales son sus vulnerabilidades ms
destacadas as como las salvaguardas necesarias para disear adecuados mecanismos de
proteccin.

Seguridad en las interfaces de usuario


Las aplicaciones informticas cada vez estn ms presentes en la vida cotidiana de una
persona. La forma de interactuar con ellas es mediante su interfaz de usuario. Una parte
importante de la seguridad de una aplicacin es por tanto dictada por como de segura es su
interfaz. A continuacin se describen los puntos a tener ms en cuenta en lo que respecta a la
seguridad en las interfaces de usuario as como las amenazas que presentan y posibles
salvaguardas:

Autenticacin en las aplicaciones o servicios


Se define autenticacin como el proceso por el cual una persona acredita su identidad
mediante unas credenciales. Dichas credenciales pueden ser algo que se tiene (por ejemplo un
DNI); algo que se conoce (como una contrasea); o algo que se es (una huella digital o la
forma del iris). El proceso de autenticacin permite, por tanto, determinar la identidad de una
persona con cierto grado de fiabilidad dependiente del proceso y de las tcnicas utilizadas.
En el caso de utilizacin de certificados digitales y tcnicas basadas en criptografa asimtrica
(que puede estar combinado, adems con tcnicas biomtricas), la seguridad o fiabilidad del
proceso es bastante alto siempre que el proceso se realice adecuadamente. Este tipo de
autenticacin es usado con gran frecuencia en la Administracin electrnica.
Una adecuada implementacin del mecanismo de autenticacin es clave para acreditar la
identidad del usuario y evitar ataques de suplantacin de identidad.
Las amenazas ms habituales frente a la autenticacin son las siguientes:
-

Robo de identidad. Esta amenaza ocurre cuandoel intruso se hace pasar por una
entidad diferente. Como salvaguardas potenciales, la organizacin debe concienciar a
los usuarios en la aplicacin de buenas prcticas en la eleccin de contraseas, e
implantar sistemas de robustez para las claves (caducidad, control de sintaxis, etc.).

111. Anexo Seguridad en el Nivel de Aplicacin

22

IV. Redes, Comunicaciones e Internet.

Manipulacin de la sesin de otro usuario. Es similar a la suplantacin de la


identidad del usuario. A travs de este tipo de ataques es posible no slo obtener sino
tambin modificar datos del posible perfil del usuario legtimo en tiempo de
ejecucin.Para evitar esta amenaza, la aplicacin debe liberar de la memoria todos los
objetos de la sesin del navegador una vez que el usuario cierre su sesin, al igual que
los posibles datos almacenados temporalmente en cookies.

Autorizacin del sistema


Despus del proceso de autenticacin, la autorizacin determina si el usuario tiene permiso
para acceder o no a los recursos demandados.
Se define autorizacin como el proceso mediante el cual el sistema valida al usuario y le
permite (o no) acceder a la aplicacin o sistema, concedindole los permisos que le han sido
otorgados por el administrador.
La principal amenaza asociada a este proceso es la siguiente:
-

Concesin de privilegios. Consiste en que un usuario obtenga ms permisos de los


que se han sido inicialmente concedidos.
Una correcta poltica de concesin de permisos, centralizando su gestin y auditandola
temporalmente comprobando por ejemplo que usuarios que ya no son tal, se les han
eliminado los permisos, ayuda a salvaguardar ataques de este tipo.
Tambin repercute favorablemente contra ataques de privilegios tener actualizados los
sistemas a sus ltimas versiones para corregir posibles defectos de seguridad.
A su vez, tambin es corriente el acceso a operaciones privilegiadas. Es muy similar a
la concesin, diferencindose exclusivamente con la utilizacin temporal, no
permanente, de cierta funcionalidad cuyo uso est limitado a ciertos usuarios
privilegiados

Adecuado manejo de excepciones


Las aplicaciones deben saber tratar y gestionar la informacin que se muestra relativa a los
errores, evitando que el usuario obtenga ms informacin de la que necesite y la aplicacin se
comporte de forma inesperada ante posibles errores.
Debe evitarse el acceso a informacin como el sw que es utilizado tanto a nivel de servidor
como a nivel de base de datos, direccin IP, direcciones donde se encuentran documentos
privados, etc.
El programador de las aplicaciones debe prestar especial atencin en el manejo de
excepciones apoyndose de las facilidades que dan los lenguajes de programacin en este
sentido.

111. Anexo Seguridad en el Nivel de Aplicacin

23

IV. Redes, Comunicaciones e Internet.

Correcta validacin de datos de entrada


La validacin de datos de entrada es un requisito de seguridad crtico. Asegura que todos los
datos introducidos por el usuario son los esperados y como veremos ms adelante una mala
implementacin en este sentido puede derivar en ataques del tipo Inyeccin de Sql. Hay varios
tipos de validacin de datos:
-

Validacin del tipo de datos. Gestiona que los datos introducidos sean del tipo que se
esperan. Es decir si se espera un nmero entero que efectivamente se reciba un
nmero entero.
Comprobacin del intervalo. Controlando que no se superan los lmites establecidos en
el rango de datos permitido.
Comprobacin del cdigo. Para aquellos casos donde haya que comprobar a nivel de
cdigo que los datos introducidos son realmente posibles.
Validacin compleja. Otras validaciones ms complejas y combinacin de las
anteriores.

Algunas amenazas importantes relacionadas con este concepto son:


-

Envo de parmetros de entrada invlidos. Es necesario controlar los parmetros


introducidos por el usuario ya que de lo contrario pueden suceder ataques muy
problemticas como por ejemplo los de inyeccin SQL.

Ataque de denegacin de servicio. Buscando que el sistema deje de funcionar


mediante introduccin de datos inesperados y por tanto no gestionados. Los efectos
de este ataque suelen ser relacionados con el rendimiento de las aplicaciones o
servicios llegando incluso a detener la aplicacin en determinados momentos.

Ataques contra implementaciones de Scripts. Consiste en la inclusin de cdigo


malicioso (Javascript fundamentalmente) en formularios web de que sea almacenado
por el servidor y posteriormente ejecutado en el navegador de cualquier usuario.
Hoy en da es muy comn que las aplicaciones Web se apoyen en Javascript y otros
lenguajes de scripting para realizar validaciones en el navegador del usuario en lugar
de en el servidor. El motivo es la eficiencia y el rendimiento, pero se debe prestar
especial atencin, ya que es aprovechada en numerosas ocasiones para concebir
ataques de seguridad.

Ataque de Buffer Overflow. Se producen cuando un programa no controla


adecuadamente la cantidad de datos que se copian sobre un rea de memoria
reservada a tal efecto (buffer). Adecuadas tcnicas de programacin as como la
monitorizacin de la memoria para detectar comportamientos anmalos y
establecimiento de reglas que eviten que programas no puedan acceder a sitos de
memoria que no le corresponden son algunas de las salvaguardas que se deben
implantar.

111. Anexo Seguridad en el Nivel de Aplicacin

24

IV. Redes, Comunicaciones e Internet.

Trazabilidad y auditoras
Para la deteccin de problemas de seguridad y funcionamiento, todos los componentes de la
aplicacin, y en especial los que tienen que ver con su interfaz, deben contar con un sistema
que permita establecer la trazabilidad de los errores o incidencias detectadas.
Es necesario registrar informacin de trazabilidad de los usuarios que hacen determinadas
operaciones y tramitaciones con los sistemas a fin de que antes cualquier problema se pueda
verificar de forma fehaciente quien ha sido el autor de dicha operacin.

Necesidades legales
Al abordar el desarrollo de cualquier aplicacin, el equipo de trabajo debe identificar la
legislacin aplicable a los datos tratados, garantizando que se cumplir dicha normativa, en
especial en lo referente al tratamiento de datos de carcter personal cumpliendo las medidas
que sean necesarias en funcin del nivel de seguridad que la aplicacin presente.

111. Anexo Seguridad en el Nivel de Aplicacin

25

IV. Redes, Comunicaciones e Internet.

Seguridad servicios Web


Los Servicios Web se han convertido en la tecnologa ms empleada para realizar
comunicaciones entre aplicaciones. Se definen como una interfaz que permite que se invoque,
se publique y se localice dentro de la red.
Se basan en estndares y protocolos abiertos. Los estndares que utiliza son los siguientes:
-

Extensible Markup Language (XML): Un lenguaje de marcas


Simple Object Access Protocol (SOAP): protocolo para intercambiar informacin de
distintos agentes en sitios distribuidos
Universal Description Discovery and Integration (UDDI): Para poder localizar el servicio
Web en cuestin
Web Service Description Language (WSDL): Lenguaje para definir el servicio Web.

WS-Security
Se trata de un protocolo de comunicaciones que suministra un medio para aplicar seguridad a
los Servicios Web. Describe la forma de asegurar los servicios Web en el nivel de los
mensajes, en lugar de en el del protocolo de transferencia como SSL o TS. stos ltimos
protocolos pese a ofrecer una solucin slida a comunicaciones punto a punto presentan
importantes limitaciones cuando un servicio intermedio debe acceder al contenido del mensaje.
WS-Security tiene como objetivo principal describir la forma de firmar y de encriptar mensajes
de tipo SOAP. Se basa en estndares para dotar a los mensajes SOAP de los criterios de
seguridad necesarios. Se definen cabeceras y usa XML Signature para el manejo de firmas en
el mensaje. La encriptacin de la informacin la realiza mediante XML Encryption. Hace uso del
intercambio de credenciales de los clientes.
WS-Security define la forma de conseguir integridad, confidencialidad y autenticacin en los
mensajes SOAP. La autenticacin se ocupa de identificar al llamador. WS-Security utiliza
tokens de seguridad para mantener esta informacin mediante un encabezado de seguridad
del mensaje SOAP. La integridad del mensaje se consigue mediante firmas digitales XML, que
permiten garantizar que no se han alterado partes del mensaje desde que lo firm el emisor. La
confidencialidad del mensaje se basa en la especificacin XML Encryption y garantiza que slo
el destinatario o los destinatarios a quien va destinado el mensaje podrn comprender las
partes correspondientes.

A continuacin se detallan algunas de las especificaciones y estndares ms importantes en


dicho marco de trabajo.

111. Anexo Seguridad en el Nivel de Aplicacin

26

IV. Redes, Comunicaciones e Internet.

WS-Policy. Esta especificacin permite a los programadores de servicios web anunciar


sus polticas relativas a seguridad, calidad de servicio, etc. Aspectos como el tipo de
security tokens aceptados, que algoritmo de encriptacin se utiliz para encriptar el
mensaje, etc., deben estar claramente definidos por el servicio. Para ello, define una
sintaxis XML para especificar polticas relacionadas con la seguridad. Esta sintaxis
define elementos denominados assertions; que permiten a un servicio web especificar
sus polticas en una forma no ambigua.

Las assertions definidas por WS-

SecurityPolicy incluyen las siguientes:


o

<SecurityToken> permiten a un web service especificar qu tipos de security


tokens aceptar, y, opcionalmente, de quien permitir que procedan.

<Integrity> permite a un web service especificar varias opciones sobre las


firmas digitales que aceptar.

<Confidentiality> permite a un web service especificar opciones sobre como la


encriptacin se realizar, como por ejemplo que algoritmo de encriptacin se
utilizar.

<Visibility> permite a un web service especificar que ciertas partes de un


mensaje no deben estar encriptadas, y cules son esas partes.

WS-Addressing. Web services proporciona mecanismos neutrales, independientes de


la capa de transporte, para direccionar mensajes y servicios web. Define elementos de
XML para referenciar servicios y facilitar el direccionamiento punto a punto de los
endpoints en los mensajes. Permite al sistema de mensajes dar soporte a la
transmisin de mensajes a travs de redes que incluyen nodos con procesamiento.
La especificacin WS-Addressing define dos conceptos:
-

Endpoint References, referencias de invocacin, que identifican el punto donde


deben ser dirigidas las peticiones.

Message Information Headers, cabeceras especficas que contienen informacin


relacionada con la identificacin que caracteriza el mensaje.

111. Anexo Seguridad en el Nivel de Aplicacin

27

IV. Redes, Comunicaciones e Internet.

WS-Trust. La especificacin WS-Trust permite definir extensiones al estndar WSSecurity con el objetivo claro de dotar a este de nuevos mecanismos de
seguridad.Define primitivas adicionales y extensiones para el intercambio de security
tokens para permitir la obtencin de credenciales entre distintos dominios de confianza.
Existen varios mecanismos que pueden ser utilizados para verificar las relaciones de
confianza de un servicio. Estos mecanismos no son obligatorios y no son requeridos
por WS-Trust. O sea, los servicios son libres de verificar las relaciones de confianza y
de establecer las mismas sobre un dominio o extender las mismas hacia otros
dominios mediante cualquier mecanismo. WS-Trust define los siguientes mecanismos:
o

Fixed Trust Roots: El ms simple de todos. El servicio (ms especficamente la


trust engine del servicio) contiene una lista de todas sus relaciones de
confianza. Si los tokens vienen de un servicio perteneciente a esta lista, el
servicio los utiliza.

Trust Hierarchies: El servicio confiar en los tokens siempre y cuando


provengan de una jerarqua de confianza que lleve a un trusted root.

Authentication Service: Este es un servicio especial con el cual el servicio


mantiene una relacin de confianza. Cuando el servicio recibe un token, lo
enva directamente a este servicio, que es el que va a decidir si es de
confianza o no.

WS-Federation Es la especificacin que describe la forma de llevar a cabo la


intermediacin entre los participantes. Su objetivo principal es ayudar a la definicin de
los mecanismos de federacin de dominios de seguridad, ya sean distintos o similares.
Para ello, define, categoriza e intermedia con los niveles de confianza de las
identidades, atributos, y autenticacin de los servicios Web de todos los colaboradores.

Aspectos a tener en cuenta en la seguridad de servicios


web
A continuacin se ofrece una revisin breve de los principales requisitos para asegurar la
seguridad en la comunicacin en lo que a WS se refiere. Estos no difieren de los puntos clave
que intervienen en toda comunicacin entre un emisor y un receptor: Autenticacin, integridad,
confidencialidad y no repudio. Adems hay que aadir el proceso de autorizacin.

Autenticacin
En el proceso de autenticacin de un servicio Web en funcin de sus requisitos de seguridad
se puede optar por autenticar exclusivamente al consumidor, al productor o a ambos.

111. Anexo Seguridad en el Nivel de Aplicacin

28

IV. Redes, Comunicaciones e Internet.

Para ello, las formas ms utilizadas son soluciones del tipo Http Autentication y SSL/TLS X509
Certificate si hay comunicacin directa entre productor y consumidor, o mecanismos basados
en tokens incluidos dentro del mensaje de transferencia.
Los tokens son, para fines prcticos, llaves de acceso a miembros inherentes a una aplicacin
o servicio. Dependiendo de la estrategia a seguir, el uso de token para autenticar y mantener el
acceso al servicio web, puede ofrecer, entre otras, las siguientes ventajas:
-

Mantener sesiones activas para largos periodos de tiempo.

Habilitar a aplicaciones que no se han autenticado directamente a recibir el token y


utilizar el servicio.

Integrar en el token informacin relativa a la sesin y sus privilegios.

El estndar WS-Security incorpora un gran nmero de tokens que pueden ser empleados
en este caso; Username Token, X509 Certificate, SAML assertions, etc. Este mecanismo
de autenticacin no tiene los problemas de los mecanismos basados en el transporte, ya
que las credenciales pueden viajar entre los distintos endpoints hasta llegar a su destino. Si
usamos este mecanismo, es necesario que estos sean transmitidos de forma segura. Esto
se puede conseguir mediante la firma del token dentro del mensaje SOAP, junto a un
TimeStamp.

Autorizacin
La autorizacin es vital para efectuar un control sobre el acceso a los recursos.
Las tcnicas empleadas para la autorizacin de servicios web no difieren de las empleadas en
otras tecnologas y estn basadas en una adecuada gestin de los privilegios de los
participantes.

Integridad y confidencialidad de los datos


Se usan tcnicas de cifrado para conceptos de confidencialidad y la firma digital para temas de
integridad.

No repudio
Para evitar el no repudio en el contexto de los Servicios Webs, los mensajes SOAPs
intercambiados debern ser identificados de mediante las especificaciones WS-Addressing.
Los mensajes SOAP, deben ser firmados siguiendo las indicaciones WS Security. Asimismo,
los mensajes intercambiados deberan ser almacenados en ficheros, para su ulterior consulta.
.

111. Anexo Seguridad en el Nivel de Aplicacin

29

IV. Redes, Comunicaciones e Internet.

Especificaciones que ataen a la seguridad en servicios


web
Los estndares que se estn desarrollando por W3C y otros organismos, basados en XML,
tratan de asegurar la confidencialidad, integridad y disponibilidad de los Servicios Web.A
continuacin vamos a ofrecer una breve descripcin de los ms significativos:
XML Encryption
Se trata de una recomendacin del W3C que especifica un proceso para cifrar datos (no
nicamente documentos xml) y representar esa informacin cifrada a su vez en xml para que
viaje por los medios de transmisin. Este estndar es ampliamente utilizado para proteger las
comunicaciones entre servicios web.
SAML (Security Authorization Markup Language)
Fomenta la adopcin de la federacin de identidades, al eliminar los obstculos que
representaba
tener
que
tratar
mltiples
protocolos.
Antes de la aparicin de SAML, las organizaciones que deseaban desplegar identidades
federadas se vean obligadas a negociar el protocolo a utilizar con cada socio de la federacin.
SAML, que es un derivado de XML, facilita infraestructuras de llave pblica, que permiten
realizar intercambios de autenticaciones y autorizaciones.

XML Digital Signature


Dota a las aplicaciones con seguridad en el proceso de autenticacin, integridad de todas y no
repudio, para ello se centra en las firmas digitales basadas en XML. Puede ser aplicado a todo
el cdigo XML o slo una parte del mismo.
Emplea criptografa de clave pblica (clave privada y pblica) as como un algoritmo Hash para
comprimir el mensaje que se transmite. Este mensaje comprimido se firma con la clave privada
del emisor y es enviado al receptor.

XML Key Management


Se trata de una interfaz estndar abierta para la gestin de claves, que permite una fcil
implementacin de PKI en aplicaciones Web, incluidos servicios Web. Gracias a ella, las
empresas pueden compartir la identidad de clave pblica a travs de diferentes aplicaciones y
sistemas. Especifica protocolos para distribuir y registrar claves pblicas para usar con XML
Signature y XML Encryption
Permite manejar los procesos de registro y revocacin del servicio. Est compuesto de dos
elementos importantes: la informacin (X-KISS) y el registro (X-RKSS) de la clave pblica. Se
definen los dos estndares como:
-

XML Key Information Service Specification (X-KISS). Su objetivo principal es la gestin


adecuada de las claves privadas.
XML Key Registration Service Specification (X-KRSS).. Su objetivo es abstraer al cliente de
un servicio externo de la complejidad de la implementacin de una PKI.

111. Anexo Seguridad en el Nivel de Aplicacin

30

IV. Redes, Comunicaciones e Internet.

XADES (XML Advanced Electronic Signatures)


Es un estndar del W3C y propuesto por el ETSI europeo. XADES define un estndar de firma
de documentos basado en XML
Existen distintos tipo de firma XAdES:
-

XAdES-BES: es el tipo de firma ms simple.


XAdES-EPES, forma bsica a la que se la ha aadido informacin sobre la poltica de
firma,
XAdES-T: es una firma XAdES-BES a la que se aade un sello de tiempos.
XAdES-C (complete), aade referencias a datos de verificacin (certificados y listas de
revocacin) a los documentos firmados para permitir verificacin y validacin off-line en el
futuro (pero no almacena los datos en s mismos),
XAdES-X (extended), aade sellos de tiempo a las referencias introducidas por XAdES-C
para evitar que pueda verse comprometida en el futuro una cadena de certificados,
XAdES-X-L: es una firma XAdES-T a la que se aade toda la informacin necesaria de
validacin de los certificados de firma y sus cadenas de certificacin. Cumple con los
criterios de firma longeva.
XAdES-A (archivado), aade la posibilidad de timestamping peridico (por ej. cada ao) de
documentos archivados para prevenir que puedan ser comprometidos debido a la debilidad
de la firma durante un periodo largo de almacenamiento.

XACML (eXtensible Authorization Markup Language)


Se define XACML como un estndar basado en la especificacin XML, que tiene como objetivo
principal la es posible expresar polticas de control de acceso en forma simple y flexible. Dicha
especificacin. Tambin define cmo es la estructura de intercambio de mensajes de
autorizacin y un modelo para organizar y almacenar la informacin de autorizacin

111. Anexo Seguridad en el Nivel de Aplicacin

31

IV. Redes, Comunicaciones e Internet.

Seguridad de las bases de datos


Pese al auge de las redes sociales y la importancia de la informacin no estructurada, todava
la gran mayora de los datos sensibles de las organizaciones estn almacenados en sistemas
gestores de bases de datos comerciales tales como Oracle, MySql o Microsoft SQL Server
entre otros. Por tanto, atacar una base de datos es uno de los objetivos favoritos para los
criminales.
Esto puede explicar por qu los ataques externos, tales como inyeccin de SQL, son tan
frecuentes actualmente. Sin embargo, diferentes estudios testifican escaso presupuesto de TI
va destinado a mejorar la seguridad de estos sistemas que pueden contener datos importantes
(y expuestos a ataques) hasta tal punto que gran parte de los usuarios de Oracle tienen algn
parche sin aplicar en sus manejadores de bases de datos

Vulnerabilidades y ataques contra las bases de datos


Para aplicar correctas polticas de seguridad en lo que a Base de Datos se refiere conviene
conocer cules son las vulnerabilidad y los ataques ms habituales.
Adems de vulnerabilidades ya comentadas anteriormente, algunas de las ms tpicas en lo
que a Base de Datos se refiere son las siguientes:
-

Debilidad en el Nombre de usuario/password. Definicin de los mismos en blanco,


o ya rellenos por defecto o demasiado simples.

Gestin de usuarios mediante grupos y no personalizada. Los usuarios slo deben


recibir privilegios a travs de grupos o funciones siendo manejados colectivamente. De
esta forma es ms sencillo eliminar derechos a un usuario con simplemente eliminarlo
del grupo, sin que queden derechos ocultos u olvidados asignados a dicho usuario.

Deshabilitar funcionalidades de base de datos que no se utilicen. Cada instalacin


de base de datos viene con paquetes adicionales de todas las formas y tamaos que
en su mayora rara vez son utilizados por una sola organizacin.

Niveles de seguridad bajos. Los gestores de bases de datos tienen presentan gran
variedad de opciones a disposicin de los administradores para ajustar el rendimiento y
funcionalidades mejoradas. Es recomendable desactivar aquellas configuraciones
inseguras que podran estar activadas por defecto para mayor comodidad de los DBA o
desarrolladores de aplicaciones. Las configuraciones de bases de datos en produccin
y desarrollo deben ser radicalmente diferentes para garantizar la privacidad de la
informacin.

Escalada de privilegios Los gestores de bases de datos con frecuencia presentan


vulnerabilidades comunes que permiten a un atacante gozar de privilegios en una
cuenta que no los debiera poseer, hasta tener acceso a los derechos de un
administrador

111. Anexo Seguridad en el Nivel de Aplicacin

32

IV. Redes, Comunicaciones e Internet.

Gestin de los accesos concurrentes. Si no estn bien definido el concepto de


transaccin, es posible que existan problemas de manipulacin si existen un gran
conjunto de usuarios trabajando concurrentemente.

Desbordamientos de bfer. Las vulnerabilidades de desbordamiento de bfer, son


explotadas por las inundaciones de las fuentes de entrada con valores muy superiores
a los que aplicacin espera.

Eleccin de un adecuado Sistema Gestor de Base de Datos. Garantizando por


ejemplo ocultar al usuario la estructura fsica interna (la organizacin de los ficheros y
las estructuras de almacenamiento).

Ataque de denegacin de servicio.

Bases de datos sin actualizar.


Datos sensibles sin cifrar.

El principal ataque contra la Base de Datos es el de Inyeccin SQL. Se trata de un mtodo de


infiltracin de cdigo intruso que se vale de una vulnerabilidad informtica presente en una
aplicacin en el nivel de validacin de las entradas para realizar consultas a una base de datos
e insertar cdigo malicioso.
La vulnerabilidad se puede producir automticamente cuando un programa disea mal
una sentencia SQL en tiempo de ejecucin, o bien durante la fase de desarrollo, cuando el
programador explicita la sentencia SQL a ejecutar en forma desprotegida.
Para evitar este tipo de vulnerabilidad es conveniente tener en cuenta:

Validar los datos introducidos por el usuario: mediante comprobaciones de tipo,


tamao, y formato.

Revisar el cdigo dentro del programa que inserte SQL. Vigilando sentencias tales
como: EXECUTE o EXEC

Revisar igualmente los procedimientos almacenados, verificando especialmente las


variables utilizadas y los parmetros de entrada.

En definitiva, para evitar este tipo de ataques que se dan con mucha frecuencia, es necesario
fundamentalmente evitar que el usuario del programa introduzca libremente caracteres sin
control ninguno. Es necesario validar siempre los datos de entrada y parametrizar las
sentencias SQL, para que los trozos de cdigo insertados por los usuarios no sean
interpretados como cdigo, si no nicamente tomados como el tipo de datos (nmeros o letras)
que esperamos que el usuario introduzca.

111. Anexo Seguridad en el Nivel de Aplicacin

33

IV. Redes, Comunicaciones e Internet.

Referencias
ISO/IEC 27001:2005 - Information technology -- Security
ISO/IEC 17799:2005 - Information technology -- Security

techniques
techniques

W3C: http://www.w3c.es/
OASIS
Web
Services
Security
(WSS)
open.org/committees/tc_home.php?wg_abbrev=wss

TC:

https://www.oasis-

Software Security: Building Security in. Gary McGraw. Addison Wesley Software
Security Series. 2006.
OWASP. https://www.owasp.org/
Guas de Seguridad de las TIC (CCN-STIC-412, CCN-STIC-422, CCN-STIC-812)

111. Anexo Seguridad en el Nivel de Aplicacin

34