Professional Documents
Culture Documents
SEGURIDAD EN BASES DE
DATOS
Johnny Villalobos Murillo
bases de datos
contraseñas
SQL injection
numero-12
Facebook Twitter
1. La seguridad de las bases de datos
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 [1].
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.
2. Principios básicos de seguridad de bases de datos
En esta sección daremos siete recomendaciones sobre seguridad en bases de datos,
instaladas en servidores propios de la organización.
2.1 Identifique su sensibilidad
No se puede asegurar lo que no se conoce.
Confeccione un buen catálogo de tablas o datos sensibles [2] 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 [3], colocado en su base de datos el resultado de los ataques de inyección
SQL [4]; 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.
2.2 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):
2.3 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.
2.4 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.
2.5 Monitoreo
Monitoreo en tiempo real de la actividad de base de datos es clave para limitar su
exposición, aplique o adquiera agentes inteligentes [5] 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.
2.6 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.
Integridad en base de datos: busca garantizar que sólo las personas autorizadas a
ello podrán acceder a información privilegiada de la empresa. La integridad de una
base de datos se aplica a través de protocolos de autenticación, políticas internas (como las
que impulsan la seguridad de las contraseñas) y un sistema de control de acceso de
usuario que define los permisos que determinan quién puede acceder a qué datos.
Tampoco puede olvidarse el tomar medidas que ayuden a conseguir que las cuentas no
utilizadas queden bloqueadas o sean eliminadas.
Podría decirse que se trata de la mayoría de las bases de datos activas en los directorios de la
empresa, al menos, todas las que, de alguna forma, resultan relevantes para el negocio.
Precisamente por ello, es necesario mantener sólidas prácticas de seguridad y estrategias de
defensa que permitan combatir este tipo de ataques, también en sus versiones más
recientes y sofisticadas, como el phisinig, el spear phising, la inyección SQL, el DDos,
la amenaza persistente avanzada o el ransomware.
Se trata de un dato sorprendente, sobre todo si se tiene en cuenta que, el 49% de los
encuestados calificaron el nivel de amenaza de una inyección de SQL en su organización con
una puntuación de 9 o 10.
Sin embargo, no hace falta ir tan lejos, la autenticación débil es la amenaza más común a
la seguridad y la integridad en base de datos. Una misma contraseña usada con fines
distintos, compartida entre usuarios, que nunca se actualiza o que resulta obvia facilita el
trabajo de un atacante malintencionado en su misión encaminada a robar la identidad de un
usuario legítimo. Una vez que conoce esos 8, 10 o 12 dígitos, ya tiene acceso a datos
confidenciales, ya tiene a la organización en sus manos.
Recurrir a herramientas como el análisis de código estático, que ayudan a reducir los
problemas de inyección de SQL, desbordamiento de búfer y problemas de configuración.
Tendencias recientes han demostrado que los ataques de ransomware están aumentando
en frecuencia y en gravedad. Se ha convertido en un negocio en auge para ladrones
cibernéticos y hackers, que acceden a la red y secuestran datos y sistemas. En los últimos
meses, grandes empresas y otras organizaciones, así como también usuarios
particulares, han caído víctimas de este tipo de ataques y han tenido que pagar el
rescate o correr el riesgo de perder datos importantes.
Entonces, ¿qué conceptos deberíamos conocer que puedan ayudarnos a proteger nuestra red
y prevenir esta nueva ola de ataques cibernéticos modernos?
La ingeniería de seguridad cubre mucho terreno e incluye muchas medidas, desde pruebas
de seguridad y revisiones de código regulares hasta la creación de arquitecturas de
seguridad y modelos de amenazas para mantener una red bloqueada y segura desde un
punto de vista holístico.
Encriptación
Si la ingeniería de seguridad de datos protege la red y otros activos físicos como servidores,
computadoras y bases de datos, la encriptación protege los datos y archivos reales
almacenados en ellos o que viajan entre ellos a través de Internet. Las estrategias de
encriptación son cruciales para cualquier empresa que utilice la nube y son una excelente
manera de proteger los discos duros, los datos y los archivos que se encuentran en tránsito a
través de correo electrónico, en navegadores o en camino hacia la nube.
En el caso de que los datos sean interceptados, la encriptación dificulta que los hackers hagan
algo con ellos. Esto se debe a que los datos encriptados son ilegibles para usuarios no
autorizados sin la clave de encriptación. La encriptación no se debe dejar para el final, y
debe ser cuidadosamente integrada en la red y el flujo de trabajo existente para que sea más
exitosa.
Si en la red ocurren acciones de aspecto sospechoso, como alguien o algo que intenta entrar,
la detección de intrusos se activará. Los sistemas de detección de intrusos de red (NIDS)
supervisan de forma continua y pasiva el tráfico de la red en busca de un
comportamiento que parezca ilícito o anómalo y lo marcan para su revisión. Los NIDS no
sólo bloquean ese tráfico, sino que también recopilan información sobre él y alertan a los
administradores de red.
Pero a pesar de todo esto, las brechas de seguridad siguen ocurriendo. Es por eso que es
importante tener un plan de respuesta a una violación de datos. Hay que estar preparado
para entrar en acción con un sistema eficaz. Ese sistema se puede actualizar con la
frecuencia que se necesite, por ejemplo si hay cambios en los componentes de la red o
surgen nuevas amenazas que deban abordarse. Un sistema sólido contra una violación
garantizará que tienes los recursos preparados y que es fácil seguir un conjunto de
instrucciones para sellar la violación y todo lo que conlleva, ya sea que necesites recibir
asistencia legal, tener pólizas de seguro, planes de recuperación de datos o notificar a
cualquier socio de la cuestión.
Firewall
¿Cómo mantener a visitantes no deseados y software malicioso fuera de la red? Cuando estás
conectado a Internet, una buena manera de asegurarse de que sólo las personas y archivos
adecuados están recibiendo nuestros datos es mediante firewalls: software o hardware
diseñado con un conjunto de reglas para bloquear el acceso a la red de usuarios no
autorizados. Son excelentes líneas de defensa para evitar la interceptación de datos y
bloquear el malware que intenta entrar en la red, y también evitan que la información
importante salga, como contraseñas o datos confidenciales.
Los hackers suelen analizar las redes de forma activa o pasiva en busca de agujeros y
vulnerabilidades. Los analistas de seguridad de datos y los profesionales de la evaluación
de vulnerabilidades son elementos clave en la identificación de posibles agujeros y en
cerrarlos. El software de análisis de seguridad se utiliza para aprovechar cualquier
vulnerabilidad de un ordenador, red o infraestructura de comunicaciones, priorizando y
abordando cada uno de ellos con planes de seguridad de datos que protegen, detectan
y reaccionan.
Pruebas de intrusión
Una prueba de intrusión completa puede ahorrarte tiempo y dinero al prevenir ataques
costosos en áreas débiles que no conoces. El tiempo de inactividad del sistema puede ser otro
efecto secundario molesto de ataques maliciosos, por lo que hacer pruebas de intrusión con
regularidad es una excelente manera de evitar problemas antes de que surjan.
Hay una línea aún más holística de defensa que se puede emplear para mantener los ojos en
cada punto de contacto. Es lo que se conoce como Información de Seguridad y Gestión de
Eventos (SIEM). SIEM es un enfoque integral que monitoriza y reúne cualquier detalle
sobre la actividad relacionada con la seguridad de TI que pueda ocurrir en cualquier
lugar de la red, ya sea en servidores, dispositivos de usuario o software de seguridad
como NIDS y firewalls. Los sistemas SIEM luego compilan y hacen que esa información esté
centralizada y disponible para que se pueda administrar y analizar los registros en tiempo real,
e identificar de esta forma los patrones que destacan.
Estos sistemas pueden ser bastante complejos de configurar y mantener, por lo que es
importante contratar a un experto administrador SIEM.
Internet en sí mismo se considera una red insegura, lo cual es algo que puede asustar cuando
nos damos cuenta que actualmente es la espina dorsal de muchas de las transacciones de
información entre organizaciones. Para protegernos de que, sin darnos cuenta, compartamos
nuestra información privada en todo Internet, existen diferentes estándares y protocolos de
cómo se envía la información a través de esta red. Las conexiones cifradas y las páginas
seguras con protocolos HTTPS pueden ocultar y proteger los datos enviados y
recibidos en los navegadores. Para crear canales de comunicación seguros, los
profesionales de seguridad de Internet pueden implementar protocolos TCP/IP (con
medidas de criptografía entretejidas) y métodos de encriptación como Secure Sockets
Layer (SSL) o TLS (Transport Layer Security).
Los usuarios reales, junto con los dispositivos que usan para acceder a la red (por
ejemplo, teléfonos móviles, ordenadores portátiles o sistemas TPV móviles), suelen ser
el eslabón más débil de la cadena de seguridad. Se deben implementar varios niveles
de protección, como tecnología de autorización que otorga acceso a un dispositivo a la
red.
Dentro de la seguridad de punto final hay otra estrategia de seguridad de datos importante:
la prevención de pérdida de datos (DLP). Esencialmente, esto abarca las medidas que se
toman para asegurar que no se envían datos confidenciales desde la red, ya sea a propósito,
o por accidente. Puede implementarse software DLP para supervisar la red y asegurarse
de que los usuarios finales autorizados no estén copiando o compartiendo información
privada o datos que no deberían.
Para que los proveedores de la nube tengan éxito, deben administrar grandes volúmenes de
datos. Esta capacidad requiere el empleo y la formación de grandes equipos específicamente
capacitados para administrar, asegurar y operar una gigantesca infraestructura de nube y los
datos alojados en su interior. La cantidad de experiencia necesaria para administrar una
nube eclipsa la experiencia que la mayoría de las empresas individuales pueden tener.
La experiencia que se encuentra en los proveedores de servicios gestionados por la
nube está muy centrada en la seguridad de datos. Como resultado, los contratiempos
debido a la falta de experiencia en seguridad en la nube están fuera de toda cuestión y la
infraestructura de la nube está adecuadamente protegida contra vulnerabilidades.
Todo en una infraestructura de nube, desde las soluciones de software hasta los sistemas de
monitorización y los procesos de administración de la infraestructura, están diseñados
pensando en la seguridad de datos. Para muchos sistemas in situ, la seguridad puede haber
sido una idea de última hora.
Auditoría continua
Automatización y Repetibilidad
Una preocupación importante es la pérdida de control de datos para las empresas si los datos
se encuentra fuera de su firewall. Este control se extiende a la creencia de que algunos
empleados del proveedor de la nube tienen acceso general a sus datos confidenciales. Un
proveedor de cloud gestionado adecuadamente tendrá varios roles compartiendo
responsabilidades para toda la solución cloud sin que ninguna persona tenga acceso
total a todos los componentes de la solución. En otras palabras, ninguna persona tiene
el nivel de acceso necesario para amenazar la seguridad o confidencialidad de los datos
de un cliente.
La idea de que las infraestructuras locales son más seguras que las infraestructuras en
la nube es un mito. El acceso físico no autorizado a los centros de datos en la nube es
extremadamente raro. Las peores infracciones ocurren detrás de los firewalls de las
empresas y de sus propios empleados. Los datos en una nube pueden residir en cualquier
número de servidores en cualquier número de ubicaciones, en lugar de un servidor dedicado
dentro de la red local.
El acceso físico a los sistemas ya no es una preocupación válida. Las economías de escala
requeridas por los proveedores de la nube han mostrado un menor número de
interrupciones del servicio y recuperaciones más rápidas, reduciendo el tiempo de
inactividad sufrido por los clientes de la nube. Los niveles más altos de automatización,
normalización y auditoría garantizan que las firmas de virus y los parches de seguridad se
actualizan rápidamente en toda la red: a menudo mucho más rápido que de lo que el personal
de TI local puede realizar. La monitorización y la dotación de personal 24/7/365 permite
identificar y resolver problemas rápidamente.
Las implicaciones y los costes de las brechas de seguridad de datos son noticia de primera
plana y abarcan todo, desde la pérdida de puestos de trabajo hasta la pérdida de ingresos e
imagen. A medida que el volumen y la proliferación de datos continúan creciendo, los
enfoques de seguridad tradicionales ya no ofrecen la seguridad de datos necesaria.
Algunas investigaciones citan las condiciones que seguirán desafiando a las organizaciones a
salvaguardar sus datos y también aumentarán su responsabilidad para proteger su
información:
Las infracciones continúan creciendo año tras año (38%, según PWC)
Los robos de propiedad intelectual muestran un crecimiento significativo (56%, según
PWC)
El coste de las brechas de datos está creciendo continuamente.
Nuevas regulaciones de privacidad (GDPR)
Los consejos de administración están responsabilizando a CEOs y ejecutivos de las
brechas de seguridad.
Con estas condiciones, las organizaciones deben tener un conocimiento completo de sus
datos confidenciales y su riesgo para garantizar el cumplimiento de las políticas y leyes de
privacidad, y las organizaciones deben supervisar cualquier actividad sospechosa, el
acceso a datos no autorizados y remediar con controles de seguridad, alertas o
notificaciones.
Se hace necesario el uso de algunas herramientas que ayuden a mitigar todo esto:
5. Material Complementario
Soluciones y recursos para Seguridad de Datos
Guías
Artículos