Sistemas Trampa: Revisión del Estado Actual

Anuncio
Sistemas Trampa: Revisión del Estado Actual
Miguel Fernández y Roberto Uribeetxeberria
Departamento de Informática
Escuela Politécnica Superior
Mondragon Unibertsitatea
20500 Mondragón
{mfernandez, ruribeetxeberria}@eps.mondragon.edu
Resumen
Los sistemas trampa constituyen una herramienta
en auge en el mundo de la seguridad informática.
En este artículo se hace una descripción general
de los sistemas trampa. Qué son, para qué se
utilizan, qué tipos de sistemas trampa existen, qué
arquitecturas se pueden utilizar, etc.
1. Introducción
“El arte de la guerra se basa en el engaño”, Sun
Tzu. ¿Por qué no aplicar las mismas técnicas que
se utilizan en las guerras para proteger nuestras
redes de los riesgos a los que se enfrentan? La
idea es trasladar una de las estrategias más
utilizadas por los líderes militares durante toda la
historia a la defensa de las redes y los sistemas.
Esta estrategia es el engaño, la emboscada.
“Si solamente te defiendes, serás derrotado”,
Sun Tzu. Tradicionalmente, las tecnologías de
seguridad intentan bloquear los ataques (como los
cortafuegos) o detectarlos antes de que penetren e
infecten la red (sistemas de detección de intrusos).
Ambas tecnologías son críticas, pero tienen
limitaciones. Lo que suele ocurrir muy a menudo
es que estas tecnologías no proporcionan tiempo
suficiente para asegurar todos los sistemas
vulnerables.
¿Y si dispusiéramos de alguna herramienta
que retrasara al atacante, logrando tiempo e
información para organizar una buena defensa y
prevenir el ataque? La utilización adecuada del
engaño puede cumplir estos objetivos. Además, a
través del engaño podemos averiguar los medios
que utiliza el atacante y, quizás, sus motivos, sin
el coste de analizar un sistema en producción que
haya sido comprometido. Esta información puede
entonces ser utilizada para alimentar las
tecnologías existentes.
“En el arte de la guerra, la información es
poder. Cuanto mejor conozcas a tu enemigo, más
capaz serás de derrotarle”. Aunque podría ser otra
cita más de Sun Tzu, es una cita de “The
Honeynet Project”. Este grupo de investigación
surgió con el propósito de recoger información
sobre los ataques que tienen lugar en Internet [10].
Cuanto más conozcamos cómo actúan los
atacantes, sus métodos y las herramientas que
utilizan mejor podremos protegernos. Uno de los
medios que podemos utilizar es el de los sistemas
trampa. Es una de las primeras tecnologías (si no
la primera) que desarrolla el concepto del engaño
aplicado a las redes de sistemas.
Los sistemas trampa son “cebos”, señuelos,
sistemas ficticios que se utilizan para detectar,
prevenir y recolectar información sobre ataques.
Son equipos generalmente conectados a Internet
que ofrecen desde el exterior una configuración
que los hace “apetecibles” a los atacantes. Esta
idea ya había sido propuesta con anterioridad en
relatos como “El huevo del cuco”, de Clifford
Stoll y “An Evening with Berferd”, de Bill
Cheswick.
2. Definición
“Un sistema trampa es un recurso de seguridad
informática cuyo valor reside en ser explorado,
atacado o puesto en compromiso” [1]. Es decir, el
valor de un sistema trampa reside en su
interacción con los ataques que sufre. Pero, ¿cómo
opera un sistema trampa? Conceptualmente, casi
todos los desarrollos e implementaciones de
sistemas trampa trabajan de la misma manera. Un
sistema trampa no tiene ninguna función
autorizada ni ningún valor productivo dentro de
una red corporativa. Por tanto, un sistema trampa
no debería recibir ningún tipo de tráfico.
Cualquier intento de conexión con un sistema
trampa es, con total seguridad, una exploración,
un ataque o un intento de comprometer la
máquina o el servicio que está ofreciendo [2].
2.1. Ventajas e Inconvenientes
El concepto expuesto es muy simple pero muy
potente. Las ventajas (y los inconvenientes) de los
sistemas trampa derivan de esta sencillez
conceptual. Las ventajas que proporcionan los
sistemas trampa son [9]:
•
•
•
•
Facilidad de análisis: los sistemas trampa
recolectan pequeñas cantidades de datos, pero
de gran valor, ya que sólo capturan tráfico
potencialmente “dañino”. Con las tecnologías
tradicionales se han de analizar grandes
cantidades de datos o alertas. Es el problema
clásico de buscar una aguja en un pajar [3].
Sin embargo, todo lo que capturan los
sistemas trampa son, directamente, agujas.
Nuevas herramienta y tácticas: los sistemas
trampa pueden ser útiles para observar nuevos
ataques no conocidos.
Tráfico cifrado o entornos IPv6: los sistemas
trampa generalmente ofrecen servicios
ficticios a nivel de aplicación. Por lo tanto,
son adecuadas para desenvolverse en estos
entornos.
Información: los sistemas trampa pueden
capturar información muy completa. Muy
pocas tecnologías pueden ofrecer información
de similar profundidad.
Algunos de los inconvenientes de los sistemas
trampa son [9]:
•
•
Perspectiva limitada: los sistemas trampa sólo
pueden rastrear y capturar la actividad que
interactúa directamente con ellas.
Riesgo: como cualquier dispositivo de
seguridad informática, los sistemas trampa son
una fuente de riesgo. El mayor riesgo que
ofrece un sistema trampa es que pueda ser
comprometido y utilizado para, desde él,
dañar otros sistemas [10].
3. Tipos de Sistemas Trapa
3.1. Según su Objetivo
Cuando hablamos del objetivo de los sistemas
trampa nos referimos a cómo se utilizan, con qué
propósito. En líneas generales, los sistemas
trampa se utilizan con sentido productivo o
dedicados a la investigación [9]. En el primer caso
los sistemas trampa protegen las redes en las que
están instalados. Esta labor incluye la prevención,
la detección y/o la ayuda en la respuesta a ataques.
Cuando se utilizan como un recurso para la
investigación, los sistemas trampa se usan para
recopilar información. Esta información puede ser
valiosa para reconocer nuevos patrones o maneras
de actuar en los ataques o para ayudar en la
detección temprana y predicción de estos.
Los sistemas trampa pueden prevenir ataques
de varias maneras. Por ejemplo, frente a ataques
automatizados, como los gusanos. Los sistemas
trampa pueden ser útiles frente a este tipo de
ataques, ralentizando el proceso de exploración y,
potencialmente, deteniéndolo. Son los llamados
“sticky honeypots”, sistemas trampa “pegajosos”,
que monitorizan el espacio de direcciones IP no
utilizado en las redes en las que están operando.
Estos sistemas trampa, cuando son explorados o
sondeados, ralentizan el ataque utilizando una
serie de “trucos” como forzar el tamaño de
ventana TCP a cero y obligando al atacante a
mantenerse en espera. De esta manera se logra
que, por ejemplo, aunque un gusano haya logrado
penetrar en nuestra red, no se propague tan
rápidamente [6]. Este tipo de sistemas trampa son
generalmente sistemas de baja interacción.
HoneyStat es un sistema que, utilizando
sistemas trampa, es capaz de rastrear el
comportamiento de los gusanos. Es un sistema de
detección temprana y de respuesta ante la
propagación de gusanos en redes locales [8].
Algunos autores defienden la utilización de
sistemas trampa para evitar o mitigar el impacto
del spam, creando sistemas virtuales con servicios
que son comúnmente utilizados para su difusión
(open proxies, open mail relay…) [7].
Los sistemas trampa también pueden
protegernos frente a atacantes que interactúan
directamente contra nuestra red, a través del
engaño o la disuasión. El objetivo en este caso es
confundir al atacante, haciendo que desaproveche
su tiempo y sus recursos interactuando con
sistemas trampa. Mientras tanto, se habrá
detectado la actividad del atacante y podremos
reaccionar ante ella, incluso detener el ataque
antes de que se produzca. Además, si un atacante
sabe que en nuestra red se utilizan sistemas
trampa, es consciente que su actividad puede ser
registrada. En consecuencia, puede decidir no
atacar nuestra red. Es decir, los sistemas trampa
pueden disuadir a algunos atacantes [3].
Los sistemas trampa pueden colaborar en la
detección de intrusos, ya que pueden hacer frente
a muchos de los problemas de la detección
tradicional. Reducen el porcentaje de falsos
positivos (lo que algunos autores refieren como
“reducción de ruido” [1]) recolectando pequeñas
cantidades de datos, pero de gran valor, recogen
ataques desconocidos y pueden operar en entornos
cifrados (por tanto, también en IPv6).
Además, existen experiencias de sistemas
trampa colaborando con sistemas de detección de
intrusos en la generación de firmas. Honeycomb
[4] es un sistema que crea firmas de manera
automática, a partir del tráfico observado en el
sistema trampa. Estas firmas son luego utilizadas
en los sistemas de detección de intrusos de red. En
Honeycomb se utiliza una versión extendida de
Honeyd como sistema trampa, y genera firmas de
buena calidad, sobre todo en el caso de los
gusanos.
Por ultimo, un sistema trampa puede colaborar
en la respuesta frente a fallos o anomalías. A
menudo, la información acerca de quién ha sido el
atacante, qué sistemas ha corrompido o de qué
magnitud es el daño qué ocasionado es escasa. En
estas situaciones es crítico disponer de
información detallada sobre lo que ha sucedido
[8]. Son una excelente herramienta de respuesta a
incidentes, ya que pueden ser desconectados en
cualquier momento para realizar un análisis
forense completo. Además, la única actividad que
registran los sistemas trampa es no autorizada o,
por lo menos, sospechosa. Los sistemas trampa
que han sido comprometidos son mucho más
fáciles de analizar que los sistemas reales porque
prácticamente todos los datos que podemos
extraer de ellos reflejarán la actividad del
atacante. En este sentido, los sistemas trampa
están permitiendo reacciones más rápidas y
efectivas ante incidentes, gracias a la información
en profundidad que suministran. Generalmente los
sistemas trampa utilizados con esta filosofía son
sistemas de alta interacción.
Con esta información, es posible acelerar la
generación de patrones que, por ejemplo,
alimentan a los sistemas de detección de intrusos.
También es posible la interacción con los
cortafuegos
para,
por
ejemplo,
cerrar
determinados puertos dinámicamente. En este
sentido es interesante el trabajo realizado por
Jamie Van Randwyk y otros autores [11]. Han
creado un sistema que utiliza un sistema trampa
como Honeyd para detectar tráfico malicioso y
tomar medidas correctoras que protejan los
sistemas de producción.
Ahora hablaremos de otro uso diferente que se
puede obtener de los sistemas trampa: la
investigación sobre amenazas. Los sistemas
trampa dedicados a la investigación recopilan
continuamente información. Esta información se
puede utilizar con muchos objetivos, como
análisis de tendencias, identificación de nuevas
tácticas o métodos, identificación de atacantes,
detección temprana, etc [10].
Uno de los ejemplos más conocidos respecto
al uso de sistemas trampa como sistemas de
investigación es el trabajo realizado por “The
Honeynet Project”, una red de investigación sin
ánimo de lucro. Toda la información que recogen
se distribuye por todo el mundo. Debido a que, en
el mundo de la seguridad informática, las
amenazas están continuamente cambiando, esta
información es cada vez más y más crítica.
Toda esta información, una vez recopilada, es
procesada utilizando técnicas de análisis forense,
con el objetivo de averiguar los métodos, técnicas
y hasta las motivaciones de los atacantes [12].
3.2. Según el Nivel de Interacción
Una de las clasificaciones más extendidas en torno
a los sistemas trampa es la que hace referencia a
su nivel de interacción. Pero, ¿a qué llamamos
interacción? Este concepto se define como “el
nivel de interactividad que un sistema trampa
ofrece a los atacantes” [9]. En otra palabras, lo
que el sistema trampa permite o no al atacante [3].
Los sistemas trampa de baja interacción
ofrecen una baja y limitada interactividad hacia
los atacantes. En la mayoría de los desarrollos e
implementaciones de sistemas trampa de baja
interacción, no son más que simuladores de
servicios y de sistemas operativos. Por ejemplo,
un sistema trampa simulando un servidor FTP
puede emular solamente el login FTP, o puede
soportar una serie de comandos adicionales. Este
tipo de sistemas trampa son también conocidos
como “servidores señuelo”.
La ventaja de los sistemas trampa de baja
interacción es su simplicidad. Son más fáciles de
instalar y mantener. Además, con este tipo de
sistemas trampa se minimizan los riesgos
derivados de instalar un dispositivo de estas
características. Generalmente, la instalación de un
sistema trampa de baja interacción implica instalar
el software elegido en la máquina que se va a
dedicar a esta función, seleccionar los sistemas
operativos y los servicios que se van a simular y, a
partir de ahí, abandonar la máquina a su suerte.
Este enfoque “plug and play” facilita el despliegue
de sistemas trampa en las redes corporativas [3].
Además, el hecho de que se simulen tanto
sistemas operativos como servicios hace que se
pueda limitar la actividad de los atacantes, con lo
que se mitiga el riesgo.
Los principales inconvenientes de los sistemas
trampa de baja interacción son:
•
•
Sólo registran en sus logs información
bastante limitada, pobre.
Están diseñados para capturar solamente
actividad conocida, no pueden simular
respuestas ante ataques nuevos, no conocidos.
En los sistemas trampa de alta interacción la
estrategia es distinta. No se simula nada, sino que
se trabaja con sistemas operativos y aplicaciones
reales. Es decir, si se necesita un servidor FTP en
una máquina Linux como sistema trampa, se
instala un servidor FTP en una máquina Linux.
Las ventajas con este tipo de soluciones son las
siguientes:
•
•
Estos sistemas de alta interacción registran
una gran cantidad de información. Podemos
observar
de
manera
completa
el
comportamiento del atacante, ya que éste
interactúa con un sistema real, no emulado.
No hacen suposiciones acerca de cómo
actuarán los atacantes, sino que proporcionan
un entorno abierto que registra toda la
actividad y permiten aprender modos de
actuar que no esperamos o que no conocemos.
Sin embargo, el riesgo que implican estos
sistemas es mucho mayor. Los atacantes se
encuentran frente a sistemas operativos reales, que
pueden comprometer y utilizar para atacar otros
sistemas con valor productivo. En consecuencia,
para prevenir este riesgo es habitual (y necesario)
acompañar a estos sistemas trampa con otras
tecnologías de seguridad como cortafuegos y
sistemas de detección de intrusos.
En resumen, los sistemas trampa de alta
interacción tienen un potencial mucho mayor que
los de baja interacción. También son más
complicados de implementar y mantener y,
además, suponen un mayor peligro.
3.3. Honeytokens
El concepto de honeytoken es reciente. Es otro
tipo de sistema trampa o cebo, pero no es una
máquina (real o emulada), es algún tipo de entidad
digital [3]. Puede ser cualquier recurso atractivo,
por ejemplo:
•
•
•
Usuarios/contraseñas
Información sobre tarjetas de crédito
Claves de cifrado…
Por supuesto, toda esta información es sólo un
cebo, es falsa. Los honeytokens se despliegan en
la red y se monitoriza su acceso. Una tendencia de
los usuarios de las redes suele ser la exploración
de éstas en busca de recursos compartidos e
información a la que no deberían tener acceso.
Así, es posible comprobar el comportamiento y la
actividad de los usuarios internos de nuestras
redes. Generalmente, los honeytokens se utilizan
para comprobar la seguridad interna de las redes
[9].
En la red de la Universidad de Mondragon
utilizamos direcciones de correo falsas para
intentar mitigar el spam. Estas direcciones se
incluyen de manera no visible en distintas páginas
Web y son útiles frente a herramientas
automatizadas que sondean Internet en busca de
direcciones de correo electrónico.
4. Arquitectura de los Sistemas Trampa
En este apartado se va a tratar sobre las opciones
de implementación y de recogida de datos en los
sistemas trampa.
4.1. Sistemas Trampa Físicos
Un sistema trampa físico es una máquina real, con
un sistema operativo real, su propia dirección IP,
aplicaciones y servicios reales, etc. Simplemente,
son instalaciones de un sistema operativo en una
máquina para luego supervisarla [10].
Los sistemas trampa físicos son fáciles de
instalar y se puede elegir cualquier sistema
operativo, sin límites. Tienen también algunas
desventajas:
•
•
La restricción más simple es una utilización
menos óptima de los recursos disponibles, ya
que solamente se puede ejecutar un sistema
operativo en una máquina simultáneamente.
La reinstalación de un sistema comprometido
puede ser problemática o, al menos, puede
consumir mucho tiempo.
El uso de máquinas reales como sistemas
trampa introduce un riesgo que debe ser
controlado, ya que los atacantes pueden
comprometer el sistema para utilizarlo como
plataforma para atacar otros sistemas. Son
sistemas que permiten una alta interacción [3].
4.2. Sistemas Trampa Virtuales
Un sistema trampa virtual se simula por otra
máquina que soporta un software capaz de emular
distintos sistemas operativos y servicios [10]. Esta
máquina responde al tráfico enviado al sistema
virtual. Este tipo de sistemas trampa virtuales son
atractivos porque reduce los recursos necesarios
para implementarlos. Así, con sistemas virtuales
se puede poblar fácilmente una red con varios
hosts ejecutando distintos sistemas operativos y
aplicaciones. Es clave simular exactamente la pila
TCP/IP del sistema que se quiere representar, para
convencer a los atacantes de que se enfrentan a un
sistema real. Los sistemas trampa virtuales se
instalan como huéspedes sobre un sistema
operativo anfitrión. Además, se optimizan los
recursos necesarios, ya que sobre una misma
máquina se pueden simular varios sistemas trampa
huéspedes.
Por supuesto, el sistema operativo anfitrión no
debe ser vulnerable y debe estar escondido,
invisible a los atacantes. Este es uno de los
principales retos de los sistemas trampa virtuales,
dificultar la identificación de sistemas simulados
por parte de los atacantes.
Honeyd es un ejemplo de una aplicación de
este tipo. Es una solución de libre distribución que
puede simular varias aplicaciones de varios
sistemas
operativos,
incluyendo
sistemas
operativos de dispositivos de red, como routers.
Además, Honeyd puede asumir las direcciones no
utilizadas en una red IP.
4.3. Captura de Datos
Una de las funciones principales de cualquier
sistema trampa, independientemente de su
propósito, es la captura de información. En el caso
de los sistemas trampa en entornos de
investigación la captura de datos es fundamental
[9], ya que el objetivo es registrar todo lo que
ocurre en un sistema trampa.
Es vital que la información que se recoja sea
redundante. Es decir, que no dependamos de una
sola fuente de información. El enfoque habitual es
realizar la captura de datos a distintos niveles.
Además, si disponemos de distintas fuentes de
información, la imagen que podemos obtener será
mejor. Una de las cuestiones a tener en cuenta es
no almacenar información en el propio sistema
trampa. La razón es la probable pérdida de datos
ocasionada por el atacante. El objetivo es
monitorizar la actividad en el sistema trampa, sin
que el atacante pueda acceder a la información
que estamos registrando. Como norma general, la
información se ha de registrar en una máquina a la
que el atacante no pueda tener acceso.
Un primer nivel de registro lo pueden
constituir los logs de los cortafuegos de nuestra
red, para observar el tráfico hacia/desde el sistema
trampa. Podemos utilizar los logs del sistema
trampa como segundo nivel de captura de datos.
Los logs del sistema proporcionan información
muy valiosa, ya que registran las actividades de
todos los procesos, tanto del sistema operativo
como de usuarios. Sin embargo, una de las
primeras acciones de un atacante en un sistema
comprometido es alterar o, simplemente, borrar
los logs para no dejar huellas. Por eso, es habitual
registrar los logs del sistema trampa en otra
máquina. El problema es que el atacante puede
darse cuenta de esto analizando el tráfico de red.
Como tercer nivel se puede utilizar un sniffer
y capturar todo el tráfico que va hacia/desde el
sistema trampa. A través de la información
recopilada, podemos reconstruir la actividad del
atacante. La monitorización se ha de realizar
desde una máquina distinta al sistema trampa.
Habitualmente se utilizan analizadores de red
como Ethereal o, incluso, sistemas de detección de
intrusos como Snort . Esta última opción permite,
no sólo capturar datos, sino generar alertas si se
observa algún tipo de tráfico que el sistema de
detección de intrusos identifique como un ataque.
El inconveniente es que si el atacante utiliza
protocolos que cifran los datos, la visión que se
obtiene no es completa. Generalmente, los
atacantes suelen tomar la precaución de cifrar sus
canales de comunicación, por ejemplo, con
servicios como SSH. Más aún, si el host víctima
no dispone de estos servicios, ellos mismos los
instalan.
Una solución para evitar esta protección que
proporciona el cifrado es modificar el sistema
operativo de los sistemas trampa y obtener la
información sobre las actividades del atacante del
propio sistema operativo. Este mecanismo se basa
en la interceptación de las llamadas al sistema.
Una de las primeras implementaciones de
sistemas trampa que utiliza este método de captura
de datos es Sebek, desarrollado por “The
Honeynet Project” [3]. Sebek es una herramienta
de captura de datos desarrollada inicialmente en
entornos Linux, pero que ha sido portada a otros
sistemas operativos como plataformas Win32,
Solaris, etc .
Este tipo de herramientas actúan generalmente
siguiendo una arquitectura distribuida [5]. En este
trabajo se utiliza un sistema trampa de alta
interacción para recoger información que pueda
ser utilizada como evidencia forense:
La captura de datos propiamente dicha se
realiza por un módulo, alojado en el núcleo del
sistema operativo, que intercepta las llamadas al
sistema que alteran el sistema de archivos de la
máquina. Este interceptador registra la actividad
del atacante y posteriormente realiza la llamada al
sistema original. De esta forma, es posible
reconstruir exactamente toda la actividad que
realiza el atacante y analizar cómo ha conseguido
comprometer el sistema y qué daños ha causado.
La información captada por el interceptador se
transfiere a través de la red a un módulo receptor.
Este módulo está alojado en una máquina segura
en la que se puede realizar un análisis detallado de
la actividad efectuada por el atacante. En algunos
casos, en esta máquina se aloja una imagen del
sistema de archivos del sistema trampa, con el
objetivo de replicar exactamente los efectos del
ataque [5].
5. Honeynets o Redes Trampa
Una honeynet o una red trampa es un tipo
específico de sistema trampa. Es un sistema
trampa de alta interacción que proporciona
sistemas, aplicaciones y servicios reales para que
los atacantes interactúen con ellos [3]. Lo que
diferencia a las redes trampa del resto de sistemas
trampa es que es una red de sistemas. Estos
sistemas trampa pueden ser cualquier tipo de
sistema, aplicación, servicio o, en general,
cualquier tipo de información que se quiera
proporcionar a los atacantes [2].
Una red trampa es una arquitectura que
controla y monitoriza toda la actividad que sucede
en su interior [10]. Existen dos requisitos
fundamentales a la hora de diseñar e implementar
esta arquitectura: el control de tráfico y la captura
de datos [2]. El control de tráfico hace referencia a
cómo se contiene o restringe la actividad de los
ataques dentro de la red trampa, sin que el
atacante se percate de ello. La captura de datos se
refiere a, como ya se ha visto, cómo se registra
toda la actividad del ataque, otra vez sin que el
atacante se de cuenta de que está siendo
monitorizado. De estos dos requisitos, el más
importante es el control de tráfico.
5.1. Control de Tráfico
El control de tráfico intenta mitigar el riesgo que
supone desplegar una red trampa. ¿Qué
entendemos por riesgo en este caso? El hecho de
que, potencialmente, el atacante puede llegar a
utilizar la red trampa para atacar y dañar otros
sistemas críticos [3]. En cada implementación se
ha de llegar a un nivel de compromiso entre el
grado de interacción que se va a permitir a los
atacantes y las restricciones que se van a aplicar.
Una de las recomendaciones más extendidas para
afrontar el control de tráfico es realizarlo a
distintos niveles. Es decir, que no sea una tarea
responsabilidad de un único dispositivo. Por
ejemplo, combinar estrategias como el recuento de
conexiones salientes de la red trampa, sistemas de
prevención de intrusiones o restricciones de ancho
de banda. Así, evitamos que exista un único punto
crítico de fallo.
Por último, siempre hay que tener en cuenta
que el control de tráfico sólo minimiza el riesgo,
no lo elimina por completo.
5.2. Captura de Datos
El reto es capturar la mayor cantidad de
información posible sin que los atacantes se
percaten de ello [3]. Es muy recomendable utilizar
varias estrategias distintas o niveles (tanto a nivel
de red como de host) para la captura.
Uno de los problemas que se han de afrontar
es que la actividad de los atacantes se realiza
sobre protocolos cifrados (IPSec, SSH, SSL, etc.).
Los mecanismos de captura de datos que se
utilicen han de tener en cuenta este tipo de tráfico
[9]. Otra de las cuestiones clave es la de
minimizar el riesgo de que los atacantes perciban
que están siendo monitorizados. Para ello, se
utilizan
sistemas
trampa
mínimamente
modificados para la captura. Si se introducen
muchas modificaciones aumenta la posibilidad de
detección. Además, es recomendable que todos
los datos capturados no se almacenen localmente
en los sistemas de la red trampa, sino en sistemas
seguros y separados de la red trampa [3]. Ya se ha
hablado anteriormente en este documento sobre
las distintas técnicas para la captura de datos.
Como ejemplo de una implementación real se
puede comentar la red trampa de la Universidad
de Mondragon. Hemos desplegado una red trampa
utilizando sistemas virtuales sobre una sola
máquina real. Actualmente se ofrecen a los
atacantes una máquina virtual Red Hat 9.0 y una
máquina virtual Windows XP, ambas con
servicios muy comunes: servidores Web, FTP,
correo, Telnet y SSH. Existe otra máquina que
actúa como frontera a esta red y se ocupa de la
monitorización de la red, el control y la captura de
datos. Actualmente la red trampa está conectada
en la red interna de la Universidad, con el objetivo
de recoger información y evaluar el
comportamiento de los usuarios internos de la red
y la variedad de ataques que se utilizan.
Posteriormente se instalará esta red en un
segmento
conectado
a
Internet,
con
direccionamiento público.
6. Granjas de Sistemas Trampa
Una de las soluciones al problema de la visión
limitada de los sistemas trampa es desplegar
varios (o muchos) sistemas trampa, pero así se
complica la administración de los sistemas.
Una posible solución para simplificar los
grandes despliegues de sistemas trampa son las
llamadas “granjas de sistemas trampa”. La idea es
muy simple: en vez de instalar sistemas trampa en
todas y cada una de las redes que queremos
monitorizar, los instalamos en una única
localización. Esta única red trampa se convierte
así en una granja de sistemas trampa, un recurso
dedicado. La cuestión a resolver ahora es redirigir
los ataques a la granja, independientemente de la
red que está siendo objeto del ataque. Es decir,
hay que instalar redirectores que se ocupen de esta
función. Un redirector actúa como un proxy, su
objetivo es transportar todo el tráfico procedente
del atacante hacia la granja de servidores, sin que
el atacante perciba este cambio. Este concepto
también es conocido como “Hot Zoning” [3].
Esta centralización de sistemas trampa tiene
enormes ventajas potenciales:
•
•
•
Implantar sistemas trampa se convierte en una
tarea extremadamente simple.
Actualizar y mantener los sistemas trampa
también es mucho más sencillo.
Se reduce el riesgo que implican los sistemas
trampa, ya que podemos ejercer un fuerte
control sobre una única localización, la granja
de sistemas trampa.
La idea de un redirector que trabaje en
colaboración con las granjas de sistemas trampa
tiene muchos retos que afrontar. El mayor de ellos
es transportar el tráfico de un atacante desde una
red a otra, la red de la granja, sin que el atacante
lo perciba.
7. Conclusiones y Líneas Futuras
Los sistemas trampa constituyen una tecnología
con un gran potencial como técnica de seguridad.
Esta capacidad empieza a ser explorada, estamos
asistiendo en el presente a desarrollos sobre esta
tecnología que están centrados en resolver algún
tipo de problema más concreto: generación de
firmas para sistemas de detección de intrusos,
detección de gusanos, medidas de respuesta frente
a ataques, etc. Por lo tanto, es una tecnología
joven, pero con muchas posibilidades.
Parece claro que, dentro de las muchas
implementaciones que podemos encontrar, las
redes trampa son las que más posibilidades
ofrecen. Esto es cierto para los ámbitos de
producción e investigación, así que seguramente
nos encontraremos en el futuro con nuevos
desarrollos de sistemas trampa que exploten los
beneficios de este tipo de redes.
Por supuesto, no todo son ventajas. Los
sistemas trampa se enfrentan a una serie de
problemas que se deben afrontar. Sin despreciar el
riesgo que supone instalar una solución de este
tipo, quizás el reto más importante que han de
superar sea el de solucionar la limitada
perspectiva de la que disponen. La línea con más
posibilidades en este sentido es el desarrollo de las
granjas de sistemas trampa. Actualmente ya
existen implementaciones de este tipo, pero es una
tendencia en continua innovación.
En los sistemas trampa que se dedican a
recopilar
información
para
investigar
posteriormente los ataques sufridos, una de las
tareas más tediosas es la de analizar a posteriori lo
que ha ocurrido en el sistema comprometido. Una
de las mejoras a los sistemas trampa dedicados a
la investigación puede ser el desarrollo de
herramientas que automaticen la tarea de análisis
forense. Este es un campo poco explorado hasta el
momento.
El potencial real de los sistemas trampa y de
las redes de sistemas trampa no se alcanzará hasta
que las organizaciones que instalan cebos de este
tipo no compartan la información que cada uno
recoge y se realice una correlación a gran escala.
Este es el objetivo de The Honeynet Project:
desplegar múltiples sistemas trampa en un entorno
distribuido y registrar toda la información en una
gran base de datos centralizada. Para ello es
necesario estandarizar la información que se
recoja y desarrollar interfaces de usuario que
analicen y correlacionen los datos.
Referencias
[1] Charles, K. Decoy Sytems. International
Journal of Digital Evidence, Winter 2004,
Volume 2, Issue 3, enero de 2004.
[2] Gallego, E., López de Vergara, J. Honeynets:
Aprendiendo del Atacante. IX Congreso
Nacional de Internet, Telecomunicaciones y
Movilidad, febrero de 2004.
[3] The Honeynet Project. Know Your Enemy.
Addison Wesley, 2004.
[4] Kreibich, C., Crowcroft, J. Honeycomb,
Creating Intrusion Detection Signatures using
Honeypots. ACM SIGCOMM Computer
Communications Review, Volume 34,
Number 1, enero de 2004.
[5] d’Orey Posser de Andrade Carbone, M., Lício
de Geus, P. A Mechanism for Automatic
Digital Evidence Collection on HighInteraction Honeypots. Proceedings of the
2004 IEEE Workshop on Information
Assurance and Security, junio de 2004.
[6] Oudot, L. Fighting Internet Worms With
Honeypots. Black Hat Asia 2003, diciembre
de 2003.
[7] Provos, N. A Virtual Honeypot Framework.
Proceedings of 13th USENIX Security
Symposium, octubre de 2003.
[8] Qin, X., Dagon, D., Gu, G., Lee, W. Worm
Detection Using Local Networks. Proceedings
of The 7th International Symposium on
Recent Advances in Intrusion Detection
(RAID 2004), septiembre de 2004
[9] Spitzner, L. Tracking Hackers. Addison
Wesley, 2002.
[10] Spitzner, L. The Honeynet Project: Trapping
the Hackers. IEEE Security & Privacy, marzo
de 2003.
[11] Van Randwyk, J., Thomas, E., Carathimas,
A., McClelland-Bane, R. Adaptive Network
Countermeasures.
Sandia
National
Laboratories,
Http://www.prod.sandia.gov,
octubre de 2003.
[12] Yasinsac, A., Manzano, Y. Honeytraps, A
Network Forensic Tool. Proceedings of the
7th World Multi-conference on Systemics,
Cybernetics and Informatics (SCI 03), julio de
2003.
Descargar