¿Qué es un honeypot?

Al igual que los osos con la miel, los hackers siempre están ansiosos por encontrar servidores que no estén lo suficientemente protegidos. Tanto es así que la metáfora del bote de miel sirve para describir el afán de unos y otros. En términos informáticos, un honeypot es un mecanismo de seguridad con el que los administradores engañan a los hackers y los ciberataques se realizan en vano. Un bote de miel de tales características simula servicios de red o programas de aplicación que permiten atraer a los atacantes y proteger el sistema productivo ante posibles daños. En la práctica, los usuarios hacen acopio de tecnologías del lado del servidor o del cliente para crear honeypots.

  • Creación de honeypots del lado del servidor: la idea básica de un honeypot en el lado del servidor es atraer a los atacantes a ámbitos aislados de un sistema informático y mantenerlos alejados, así, de componentes de red críticos. Asimismo, los honeypots ofrecen la posibilidad de seguir la pista a la manera de proceder de los atacantes. Para ello, un honeypot sencillo simula una aplicación de servidor que facilita uno o varios servicios en red, por ejemplo un servidor web. Si una maniobra de esta índole es capaz de captar la atención de un atacante y este da señales de poder llevar a cabo un intento de robo, el honeypot registra dichas actividades, da la alarma de aviso o toma las medidas necesarias. En el mejor de los casos, un servidor honeypot entrega datos relativos a cómo pueden tener lugar ataques automatizados o manuales. En este sentido, los administradores reciben información que les permite proteger mejor el sistema productivo frente a los ataques futuros.
  • Creación de honeypots en el lado del cliente: un honeypot del lado del cliente imita a un software de aplicación que hace uso de servicios en el servidor. El ejemplo clásico es la simulación de un navegador que visita páginas web poco seguras para recopilar datos sobre  los riesgos para la seguridad. Si se produce un ataque al navegador o a los plugins del mismo en una de las páginas anteriores, se protocoliza dicho acontecimiento y la evaluación de los datos emitidos sirve para mejorar el software de simulación.

Los centros de investigación, las administraciones y el ejército utilizan los honeypots de investigación para recopilar información sobre nuevas modalidades de ataque y para que la comunidad de Internet pueda acceder a ellos. En las empresas se aplican mecanismos de seguridad de esta índole para proteger las redes corporativas, para lo que los administradores instalan los llamados honeypots de producción en ámbitos de red que en funcionamiento normal no se solicitarían ni pondrían servicios a disposición de clientes o empleados. El objetivo es, pues, atraer a los atacantes que examinan la red en busca de puntos débiles a través de brechas de seguridad ficticias en ámbitos inofensivos. Cada acceso a un sistema normalmente desaprovechado será calificado, vigilado y analizado como ataque.

En caso de recurrir a más de un “bote de miel” para simular una red en su totalidad y para ofrecer a los hackers un objetivo muy atractivo, se puede hablar de una honeynet.

¿Cómo se pueden implementar los honeypots?

Para crear un honeypot, los administradores pueden recurrir básicamente a dos posibilidades:           o bien se lleva a cabo como un sistema físico o se implementa en base a un software de virtualización.

  • Honeypot físico: un honeypot físico es un ordenador independiente que se integra en una red con una dirección propia.
  • Honeypot virtual: un honeypot virtual es un sistema lógico que a través de un software de virtualización recibe recursos de asignación de un ordenador físico.

Tanto en un caso como en el otro, el honeypot está aislado y resulta imposible para los atacantes acceder al sistema productivo desde el sistema que sirve para despistarles.

Clasificación de los honeypots

El objetivo del honeypot es pasar desapercibido. Cuanto más tiempo se pueda engañar a un atacante, más información podrá recopilar el sistema sobre su estrategia y sus métodos. Uno de los criterios más relevantes para la clasificación de los honeypots es el grado de interactividad con el atacante. En cuanto a esta relación se puede diferenciar, tanto de la parte del servidor como de la del cliente, entre honeypots de baja interacción y honeypots de alta interacción.

  • Honeypots de baja interacción: los honeypots que tienen un grado bajo de interactividad se basan fundamentalmente en la imitación de sistemas o aplicaciones reales. Los servicios y las funciones solo se simularán en la medida que hagan posible un ataque.
  • Honeypots de alta interacción: los honeypots con un grado elevado de interactividad son, en general, sistemas reales que ofrecen los servicios de un servidor, de ahí que se tengan que supervisar y proteger correctamente. Si un honeypot de alta interacción no está bien protegido por parte del sistema productivo, se puede plantear el riesgo de que un atacante acceda a él para infiltrarse en el sistema que se ha de proteger o que a partir de este lleve a cabo sus ataques en otro servidor de la red.

Honeypots de baja interacción del lado del servidor

Básicamente, la forma más simple de un honeypot del lado del servidor consiste en una aplicación individual que emula, es decir, que imita los servicios de red, entre los que se incluyen la conexión. Puesto que esta modalidad de creación de honeypots ofrece posibilidades de interacción limitadas a los atacantes, la información obtenida por medio de un honeypot de baja interacción del lado del servidor es algo escasa. Los hackers pueden descubrir con rapidez los honeypots del lado del servidor con una interactividad limitada. Es por esto que este tipo de mecanismos de seguridad se utilizan sobre todo para descubrir y protocolizar ataques automatizados basados en malware. Una conocida solución de código abierto con la que se pueden crear honeypots de baja interacción del lado del servidor es Honeyd.

  • Honeyd: el software Honeyd, publicado bajo la licencia GNU Public License (GPL), permite a los administradores crear diversos hosts virtuales en una red de ordenadores, los cuales pueden configurarse de tal modo que reproduzcan diferentes tipos de servidores que permiten simular un sistema en su totalidad e incluso la pila de protocolos TCP/IP. Sin embargo, el software es considerado como honeypot de baja interacción. La razón para ello reside en el hecho de que Honeyd no es capaz de simular todos los parámetros de sistema, de modo que ofrece un nivel bajo de interacción y puede ser detectado por los hackers con facilidad. El software no ha experimentado ningún cambio visible desde 2008.

Honeypots de baja interacción del lado del cliente

Los honeypots de baja interacción del lado del cliente (también llamados honeyclients) son programas con los que se pueden emular diferentes navegadores. Con ellos, los usuarios tienen la posibilidad de visitar páginas web y de registrar ataques en los navegadores web simulados. Algunos de los honeyclients de código abierto que ofrecen una interactividad baja son HoneyC, Monkey-Spider y PhoneyC.

  • HoneyC: el honeyclient de baja interacción HoneyC permite a sus usuarios identificar servidores peligrosos en Internet. En lugar de un sistema operativo funcional y de un software de cliente, en HoneyC se puede hablar de un cliente emulado que analiza las respuestas del servidor en busca de contenidos dañinos. Básicamente, el software está formado por tres componentes: el visitor engine es el responsable de la interacción con el servidor y emula diversos navegadores web a través de diferentes módulos. El análisis de la interacción con un servidor web tiene lugar por medio del analyse engine, que tras cada visita comprueba si se han infringido las normas de seguridad del software.
  • Monkey-Spider: el Monkey-Spider es un rastreador web que se puede utilizar como honeypot de baja interacción del lado del cliente. Para ello, el software rastrea páginas web en busca de código malicioso que pueda suponer una amenaza para el navegador web.
  • PhoneyC: PhoneyC es un honeyclient escrito en Python con el que se pueden imitar diversos navegadores web para analizar las páginas web en busca de contenidos maliciosos. El software tiene la capacidad de procesar lenguajes de programación como JavaScript o VBScript y soporta funciones de “deobfuscation”, es decir, de convertir programas complejos en programas sencillos para desenmarañar el código dañino. Además, PhoneyC también soporta diversos métodos para analizar páginas web, como por ejemplo el software antivirus de código abierto ClamAV.

Honeypots de alta interacción del lado del servidor

Los administradores que quieran establecer “botes de miel” del lado del servidor y con muchas posibilidades de interacción recurren, por lo general, a servidores con una amplia funcionalidad que se crean en calidad de sistemas que sirven para desviar la atención y que pueden llevarse a cabo en sistemas de hardware auténticos o en entornos virtuales. Mientras que los honeypots de baja interacción son aptos para identificar y analizar ataques automáticos, los honeypots de alta interacción se centran en los ataques llevados a cabo manualmente.

Los honeypots del lado del servidor resultan especialmente prometedores cuando se plantea a los hackers un ataque con un grado elevado de interactividad. Los esfuerzos empleados en crear y supervisar un honeypot de esta índole son muy superiores a los de las soluciones de software sencillas, que tan solo imitan las funciones de los servidores. Cuando un servidor real entra en juego como honeypot, se plantea el peligro de que un atacante utilice el sistema infiltrado tras un robo exitoso como punto de partida para otros ataques en otros servidores de Internet. Es posible que esto acarree consecuencias jurídicas, ya que el gestor del servidor se hace cargo de la totalidad de las actividades que se basan en él.

Para supervisar los ataques de hackers que tienen lugar en un servidor establecido como honeypot se puede recurrir a herramientas de monitorización especiales como Sebek, de libre disposición. Un entorno de honeypot de alta interacción puede llevarse a cabo con el software Argos.

  • Sebek: esta herramienta de recogida de datos se utiliza en honeypots muy interactivos para controlar a los hackers y recopilar datos sobre las actividades que ponen en juego la seguridad. En cuanto a su estructura básica, el software está formado por dos componentes: el cliente se ejecuta en el honeypot y este registra las acciones llevadas a cabo por los hackers en su totalidad, como entradas de datos, subidas de datos o contraseñas, y las transmite a un servidor de protocolo que puede funcionar en un sistema independiente.
  • Argos: este entorno de honeypot de alta interacción se basa en un emulador de hardware QEMU modificado. El software soporta diversos sistemas operativos huésped que se ejecutan en una máquina virtual y que representan al honeypot. Para reconocer y protocolizar los ataques, Argus es capaz de funcionar sin ningún software de monitorización adicional. El tráfico entrante que llega al honeypot a través de la tarjeta de red será supervisado y recibirá la denominación de “manchado” (tainted). Lo mismo se aplica a aquella información que se genera a partir de datos de este tipo. Debido a los esfuerzos adicionales empleados para la emulación del sistema operativo y para el análisis de datos, Argos es notablemente más lento que los sistemas productivos en hardware de características equiparables.

Honeypots de alta interacción del lado del cliente

Los honeypots de alta interacción del lado del cliente son soluciones de software que se ejecutan en sistemas operativos reales y que se utilizan en navegadores web normales para registrar ataques procedentes de servidores de Internet. Algunas de las herramientas más populares a este respecto son Capture-HPC y mapWOC.

  • Capture-HPC: este honeypot cliente de alta interacción emplea una arquitectura cliente-servidor en la que un servidor establece las páginas que se tienen que visitar y controla los diferentes clientes. Estos se encargan de acceder a las páginas y devuelven los datos de los resultados al servidor. Entre ellos se encuentran navegadores web, aplicaciones de Office, lectores de PDF o reproductores Media Player.
  • mapWOC: el software libre mapWOC (abreviatura de Massive automated passive web observation center) también permite cargar páginas web con navegadores reales. Estos se ejecutan en una máquina virtual cuyo tráfico de datos con los clientes está supervisado de manera continua para registrar y analizar ataques como los Drive by Download. Los componentes básicos de mapWOC son el sistema host Debian Squeeze, KVM para la virtualización y ClamAV para comprobar si hay malware.

Ventajas e inconvenientes de los honeypots

Los honeypots se suelen utilizar como complementos para otros componentes de seguridad informática como el sistema de detección de intrusos (IDS, Intrusion Detection System) y los cortafuegos o firewalls y ofrece una función de control adicional. Una de las principales ventajas de estos sistemas es que se pueden obtener datos muy relevantes. Ya que los honeypots no se hacen cargo, en condiciones de funcionamiento normal, de ningún tipo de función, cada actividad que se lleve a cabo en estos sistemas de control se convierte en un posible ataque. Todos los datos registrados a través de los honeypots se convierten en elementos relevantes para la seguridad. Si, por el contrario, se supervisan sistemas productivos, el análisis de datos requiere una fase de trabajo en la que se filtren datos importantes para el ataque que procedan de la cantidad total de los mismos.

Hay que tener en cuenta que no todos los honeypots entregan información útil. Si el cebo no resulta muy atractivo o es difícil acceder a él, los ataques no podrán tener lugar y las inversiones tanto a nivel económico como personal para poner a disposición el sistema de seguridad se habrán realizado en vano. 

El hecho de que las empresas paguen para obtener datos a través de los honeypots se convierte en un riesgo adicional. En lo que respecta a estos sistemas que sirven para engatusar a los hackers, existe el peligro de que cuando se produzca cualquier tipo de adversidad en el honeypot esto dé lugar a más daños en la red. La manera de disminuir este riesgo consiste en separar lo más posible a los honeypots de los sistemas productivos y en supervisar permanentemente todas las actividades que tienen lugar en los sistemas trampa. En este sentido, es importante exteriorizar la reducción de los daños. Para evitar que se abuse de los honeypots como puntos de partida para los ataques de los hackers a otros sistemas, se deben reducir las conexiones salientes al mínimo.

Si un honeypot de alta interacción del lado del cliente está equipado con el mismo sistema de seguridad que el sistema productivo, podrá emplearse como garantía de seguridad. En este caso, los datos registrados permiten obtener conclusiones sobre la eficacia del sistema de seguridad. Si se detecta un robo en el honeypot, será necesario comprobar si también se ha accedido al sistema productivo. Además, deben adaptarse ambos sistemas para descartar que en un futuro se produzcan ataques con el mismo patrón.

Inciso: los honeypots en el marco de los procesamientos penales

En el pasado, los responsables de los procesamientos penales hicieron uso del principio del honeypotting para atrapar a los criminales que buscaban acceder a contenidos ilegales. En este sentido, se plantea la cuestión de si los titulares de los derechos deberían utilizar honeypots para poner remedio a la divulgación de contenidos protegidos por los derechos de autor.

Según un informe de CNET, el FBI colocó en 2006 enlaces en foros de Internet que remitían a contenidos de pornografía infantil. Los ciudadanos norteamericanos que hicieron clic en ellos recibirían más tarde una visita inesperada.

Otro de los ejemplos tuvo lugar en el año 2007 en Alemania. Este mismo año salió a la luz que la Oficina Federal de Investigación Criminal había colocado en su página una subpágina con información sobre la organización terrorista de izquierdas “Militante Gruppe” (Grupo Militante) para registrar a interesados en el tema. Según el periódico alemán Tagesspiegel, desde septiembre de 2004 las autoridades registran las direcciones IP de todos los visitantes de la página web y solicitan a los proveedores la identificación de los usuarios de Internet a los que pertenecen las correspondientes direcciones IP.

También tuvo lugar un debate acerca de la utilización de honeypots en relación a las investigaciones en contra del streaming de películas de Internet y las plataformas de intercambio de archivos. Puesto que algunas de estas páginas fueron eliminadas de la red y otras todavía seguían estando online, se tuvieron sospechas de que los titulares de los derechos o aquellos encargados del cumplimiento de la ley podían utilizarlos como honeypots, aunque no había una base jurídica para ello. Lo que sí está todavía por aclarar es si gestionar un honeypot que ofrece contenidos ilegales o no protegidos por los derechos de autor representa un engaño para el Estado de Derecho.