viernes, 17 de junio de 2011

Honeypot

En esta serie de entregas explicaré en qué consiste y cómo montar un honeypot...

1.- Introducción. ¿Qué es un honeypot?

En realidad y pese a ser una tecnología bastante reciente en el mundo informático - los primeros trabajos que tratan los conceptos de los honeypots datan de 1990/1991, en concreto “The Cuckoo´s Egg” de Clifford Stolls´s y “An Evening With Berferd” de Bill Cheswick´s - constituyen un recurso muy valioso para la seguridad de cualquier empresa o incluso de una pequeña red personal.
Los “honeypots”, literalmente “tarros de miel”, también conocidos como sistemas de decepción o engaño, constituyen una trampa -la otra acepción del término- para posibles atacantes. Un honeypot no es más que un sistema cuya única finalidad es la de ser probado, atacado o incluso comprometido.
El funcionamiento de estos sistemas es bastante sencillo y consiste en poner en marcha un sistema con una serie de servicios expuestos a la red, cuya única finalidad es la de registrar la actividad de cualquier individuo que interactúe con ellos. La diferencia con respecto a un sistema real en producción, es que la única intención del sistema es ser probado por un atacante, no ofrecer un servicio real.
La idea subyacente, por tanto, es que nosotros ponemos a disposición de cualquier integrante de una red, un equipo con una serie de servicios -o puertos- expuestos a ciertas vulnerabilidades que, por otra parte, no son publicados en ningún sitio. De este modo todo aquél que intente acceder a ellos, en realidad lo que estará haciendo es una búsqueda de servicios disponibles (escáneado de red) , con objeto de buscar sistemas accesibles que tengan alguna vulnerabilidad conocida -o no- que pueda ser explotada de modo que el equipo quede comprometido y a disposición del atacante.

Los sistemas dedicados por tanto a honeypot no deberían recibir casi ningún tráfico de entrada al sistema -no son sistemas en producción-, con lo que el tráfico de entrada podría suponer ya un ataque. Por otra parte, y por la misma razón, el tráfico de salida debería ser inexistente, de hecho el tráfico saliente sería un indicador de que nuestro honeypot ha sido vulnerado y comprometido por un atacante.
Como veremos, un poco más adelante, un honeypot puede, dependiendo del tipo, no sólo registrar los intentos de acceso a determinados servicios (la forma más trivial de honeypot) sino que incluso puede llegar a engañar al atacante haciéndole creer que ha conseguido comprometer un sistema. En este último caso, no sólo registraríamos el ataque efectuado, sino que seríamos capaces de ver, recuperar y probar el software que el atacante empleará durante las fases de refuerzo y consolidación y pudiendo, por tanto, descubrir y estudiar nuevas técnicas, metodologías y aplicaciones empleadas por los atacantes.
En realidad los honeypots son sistemas que nos ofrecen una ayuda de incalculable valor a la hora de detectar nuevos ataques -para los que todavía no existen firmas en sistemas IDS- o incluso para alertarnos de equipos comprometidos en nuestra red. En el primer caso, si un atacante descubre una nueva vulnerabilidad podría pasar totalmente desapercibido a cualquier Sistema de Detección de Intrusiones que tuviésemos desplegado en la red, ya que la firma del mismo no estaría todavía registrada; sin embargo en el momento que intentase acceder a nuestro honeypot nos serviría de advertencia ya que como hemos visto no deberían tener casi tráfico entrante y el saliente es inexistente.
El segundo uso está relacionado con la existencia de gusanos, auto-rooters y mass-routers, en esencia es software que prueban, de manera automatizada, amplios rangos de redes siendo capaces de explotar vulnerabilidades en los sistemas que no han sido parcheadas. Si detectamos tráfico desde nuestra red a nuestro honeypot sería un indicador de que puede haber un sistema comprometido, independientemente de que la firma del ataque sea conocida o explote una vulnerabilidad todavía no publicada.

Para ver el resto de manuales puede acudir al índice de temas de seguridad en el enlace