Capítulo I Introducción E n este capítulo se dará una introducción sobre la motivación del proyecto, abordando la problemática que dio lugar a su creación, junto con una descripción de la propuesta llevada a cabo para hacer frente al problema enunciado. También se comentaran los objetivos del proyecto y terminaremos con un estudio del trabajo relacionado con la propuesta presentada. -1- 1 SEGURIDAD INFORMÁTICA Los días en que nos conformábamos con tan sólo un antivirus de escritorio quedaron atrás hace años. La consolidación de Internet como medio de interconexión global ha arrastrado consigo el alarmante aumento de incidentes relacionados con sistemas informáticos. Quebrantar una información valiosa es relativamente fácil si existen deficiencias en la arquitectura de un sistema, en el diseño de aplicaciones, en la implementación de configuraciones o en las operaciones. Este hecho viene provocando una creciente necesidad de implementar mecanismos y políticas con la finalidad de proteger o reducir al mínimo los riesgos asociados a los incidentes de seguridad informática. En este primer apartado, vamos a proporcionar una visión general de los aspectos más relevantes de la seguridad informática, comenzando por una breve definición del concepto , así como de los principios que lo fundamentan. Continuaremos analizando la evolución del concepto, desde el origen hasta la actualidad. Por último, finalizaremos aportando algunos ejemplos de los ataques informáticos a organizaciones más significativos de la historia. 1.1 ¿QUÉ ENTENDEMOS POR SEGURIDAD INFORMÁTICA ? Formalmente podemos definir la seguridad informática como el área de la informática que se enfoca en la protección de la infraestructura computacional y todo lo relacionado con esta, incluyendo la información contenida. De modo más intuitivo, podemos decir que la seguridad informática consiste en garantizar que los recursos informáticos valiosos de una organización, también llamados activos, estén disponibles para cumplir sus propósitos, es decir, que no sean dañados o alterados por circunstancias o factores externos. Entre los activos informáticos de una organización podemos encontrar: los usuarios, la infraestructura computacional, el software y la información contenida, siendo este último prioritario en la mayoría de casos. -2- Para considerar un sistema informático como seguro, debemos atender a tres principios altamente relacionados con la información contenida en nuestros sistemas, que serán explicados a continuación. 1.2 PRINCIPIOS DE LA SEGURIDAD INFORMÁTICA: CONFIDENCIALIDAD, INTEGRIDAD Y DISPONIBILIDAD. Para lograr sus objetivos, la seguridad informática se fundamenta en una triada de principios muy comunes en el ámbito de la seguridad: Disponibilidad: Propiedad de la información de encontrarse a disposición de quienes deben acceder a ella, ya sean personas, procesos o aplicaciones. Para garantizar la disponibilidad, nuestro sistema informático debe estar disponible en todo momento, evitando interrupciones en el servicio debido a cortes de energía, fallos en el hardware, actualizaciones del sistema, denegaciones de servicio, etc. Confidencialidad: Propiedad de prevenir la divulgación de información a personas o sistemas no autorizados. Para avalar la confidencialidad, debemos proteger al sistema de invasiones, intrusiones y accesos por parte de personas o sistemas no autorizados. Integridad: Propiedad que busca mantener los datos libres de modificaciones no autorizadas, ya sea accidental o intencionadamente. Para garantizar la integridad, debemos evitar que un empleado, programa o proceso modifique o borre los datos importantes para la organización. 1.3 SEGURIDAD INFORMÁTICA : ORIGEN DEL CONCEPTO El primer trabajo sobre seguridad informática se remonta a 1980, cuando solicitado por un ente gubernamental, James P. Anderson publicó el documento Computer Security Threat Monitoring and Surveillance. -3- En este documento se recogen las bases de definiciones que hoy en día son tratadas con total naturalidad pero. Entre estas definiciones destacan: Amenaza: posibilidad de un intento deliberado y no autorizado de: acceder a la información, manipular información o convertir un sistemas en no-confiable o inutilizable. Riesgo: exposición accidental e impredecible de información, o violación de la integridad de operaciones debido al mal funcionamiento de hardware o diseño incorrecto o incompleto de software. Vulnerabilidad: una falla conocida o su sospecha, tanto en hardware como en el diseño de software, o la operación de un sistema que se expone a la penetración de su información con exposición accidental. Ataque: una formulación específica o ejecución de un plan para llevar a cabo una amenaza. Penetración: un ataque exitoso; la habilidad de obtener acceso no-autorizado a archivos y programas o el control de un sistema computarizado. Lo más interesante de este documento es que Anderson da una definición de los principales agentes de las amenazas informáticas. Estas definiciones serán algunos de los pilares de lo que hoy conocemos como seguridad informática. 1.4 EVOLUCIÓN DE LA SEGURIDAD INFORMÁTICA Los ataques ya existían durante la década de los 80 y a comienzos de los 90, pero en ese momento no se les daba públicamente una alta prioridad como incidentes de seguridad. Solo empezaron a tener relevancia cuando Internet experimentó un enorme crecimiento a finales de 1990. A partir de entonces el desarrollo de medidas de defensa en la informática se ha desarrollado casi al mismo tiempo que la creación de amenazas. Aún así, es interesante reconocer que actualmente siguen existiendo ataques con éxito, lo que es un claro indicio de que los atacantes en ocasiones están un paso por delante de la seguridad. -4- Figura 1.1: Incidentes informáticos por mes. En el gráfico de la figura 1.1, podemos observar como con el paso del tiempo los ataques han aumentado exponencialmente hasta estabilizarse en un punto muy alto, frenado por la evolución paralela de la seguridad informática. Esta evolución es un claro síntoma de la importancia que ha adquirido la seguridad informática en los últimos años, desempeñando un papel primordial en cualquier organización. Este hecho es fácilmente comprensible, ya que actualmente la mayoría de la información de empresa se encuentra almacenada en equipos informáticos, por lo que una brecha de seguridad supone un gravísimo problema tanto económico como judicial. Por otro lado existe una pérdida de reputación, por lo que las organizaciones intentan ocultar en la medida de lo posible este tipo de incidentes. -5- 1.5 IMPORTANCIA DE LA SEGURIDAD INFORMÁTICA : REPERCUSIÓN EN ORGANIZACIONES AFECTADAS Hemos visto como con el paso del tiempo el concepto de seguridad informática ha ganado en importancia pero ¿hasta qué punto se ve afectada una empresa por un incidente de seguridad informática? Para abordar esta cuestión hemos creído oportuno exponer algunos casos reales de organizaciones afectadas, lo que será un claro indicio de la importancia real de la seguridad informática. A continuación, vamos a hacer referencia a cuatro de los casos representativos de incidentes datados dentro de la historia de la informática. Primer caso: Empleados fraudulentos en cooperativas de crédito A comienzos del otoño de 1996, durante varios meses, dos cooperativas de crédito trabajaron conjuntamente para modificar informes de crédito a cambio de pago financiero. Parte de las responsabilidades normales de los empleados era la de alterar los informes de crédito en función de la información que recibía la compañía. Sin embargo, los empleados hicieron mal uso de sus accesos autorizados cambiando los indicadores de crédito negativo por indicadores positivos a ciertos historiales de créditos a cambio de dinero. Las pérdidas totales por el fraude ocasionado por dichos empleados superaron los 250.000 dólares. Los daños y pérdidas causadas a la cooperativa fueron incalculables. Segundo caso: Empleado descontento elimina 10 billones de archivos Figura 1.2: Logotipo de UBS Paine Webber. En Marzo de 2002, una logic bomb eliminó 10 billones de archivos de los sistemas informáticos de la compañía de servicios financieros internacional UBS PaineWebber. Una bomba lógica es un código malicioso implantado en un sis- -6- tema objetivo y programado para ejecutarse después de un tiempo determinado o de una acción especificada del sistema. Este incidente afectó alrededor de 1300 servidores de compañías de los EEUU. La compañía sufrió unas pérdidas de unos 3 millones de dólares, dinero que necesitó para reconstruir y reparar el daño de los ficheros suprimidos. La investigación realizada por profesionales de análisis forenses reveló que la “logic bomb” había sido implantada por un empleado descontento que recientemente había dejado la empresa por una disputa sobre su paga extra. Tercer caso: Portal de búsqueda de empleo atacado mediante botnets Figura 1.3: Logotipo de Monster En Agosto de 2007, el sitio de búsqueda de empleo online “Monster.com”, sufrió una brecha de seguridad que dio como resultado el robo de datos de información confidencial de 1.3 millones de demandantes de empleo. Aunque la cifra fue rectificada más tarde a millones. Los Atacantes sustrajeron información del sitio de reclutamiento online de EEUU usando credenciales que obtuvieron de clientes de “Monster”. Se lanzó el ataque usando 2 servidores de un alojamiento web de Ucrania combinado con una red de bots. Los equipos comprometidos fueron infectados con un software malicioso denominado “InfoStealer.Monstres”. La compañía fue consciente del problema cuando investigadores de seguridad en Internet de la compañía Symantec comunicaron a “Monster” que estaban bajo ataque. Cuarto caso: Mayor caso de robo informático de datos de la historia Figura 1.4: Logotipo de Sony. Desde Abril hasta Junio de 2011, la compañía Japonesa “Sony” sufrió una serie de ataques que son considerados como el mayor caso de robo informático -7- de datos de la historia llevado a juicio. Los atacantes idearon un sofisticado ataque “SQL injection” para penetrar en sus redes y robar los datos de tarjetas de crédito y débito de más de 70 millones de usuarios. Según los analistas, este ataque tiene un coste potencial de más de 24 billones de dólares, mientras que se pudo evitar por tan solo 10 mil dólares. 2 MEDIDAS DE SEGURIDAD Hemos comprobado mediante estadísticas y casos reales la importancia que tiene la seguridad informática hoy en día, tanto para usuarios como para organizaciones, existiendo la necesidad de proteger los sistemas informáticos de ataques tanto externos como internos. Proteger el sistema informático consiste en poner freno a cada una de las amenazas potenciales mediante medidas de seguridad. Existe un gran abanico de medidas de seguridad que pueden reducir el riesgo de pérdidas debidas a la aparición de incidentes en los sistemas informáticos. A continuación mencionaremos brevemente las medidas y sistemas de seguridad agrupándolas bajo dos aspectos. Medidas de gestión y medidas técnicas. 2.1 MEDIDAS DE GESTIÓN Los gestores de toda organización deberían contemplar la seguridad informática como parte integral de las estrategias y tácticas corporativas. Una vez plasmada la importancia de los sistemas para la consecución de los propios objetivos y los riesgos que puede suponer para la empresa la pérdida de integridad de su información, la indisponibilidad de sus sistemas o la violación de la confidencialidad de su información, pueden plantearse con mayor rigor el resto de medidas encaminadas a servir a los objetivos empresariales. -8- Emanando de la vertiente estratégica de la información y de los sistemas corporativos, suelen generarse dos herramientas de gestión no menos importantes: las políticas de seguridad y el plan de contingencia. 2.1.1 Políticas de seguridad Las políticas de seguridad son el resultado de documentar las expectativas de seguridad. El concepto de seguridad, como se explicó anteriormente, está relacionado con el comportamiento esperado de un sistema. Se puede afirmar que las políticas de seguridad intentan plasmar de alguna manera en el mundo real, los conceptos abstractos de seguridad. Hay dos formas de definir las políticas de seguridad: procesal (o directiva) y formal. La política de seguridad procesal consiste en plasmar de forma práctica las ideas o filosofías de la empresa en cuanto a seguridad. Este tipo de política se describe en lenguaje informal, no de forma matemática. Una política de seguridad formal es un modelo matemático del sistema que abarca todos los posibles estados y operaciones así como un esquema de cómo cada estado y operación pueden tener lugar. Definir este tipo de política de seguridad es una ardua labor. 2.1.2 Plan de contingencia Por su parte, el plan de contingencia describe los procedimientos que deben seguirse ante la aparición de eventualidades significativas que puedan suponer graves consecuencias para la organización. Debe detallarse los pasos a seguir, por ejemplo, en caso de destrucción total de los sistemas por inundación, fuego etc. Muchas veces la simple elaboración del plan descubre defectos en los sistemas que pueden ser paliados con relativa facilidad. Por ejemplo, puede descubrirse que no se mantienen copias de respaldo de información crucial para la empresa en lugares físicamente seguros, o al menos en lugares distantes a la ubicación de los sistemas susceptibles a daños. -9- 2.2 MEDIDAS TÉCNICAS Existen innumerables herramientas y sistemas de seguridad orientadas a preservar la integridad, confidencialidad y disponibilidad de información y sistemas. La oferta, en este sentido, es muy numerosa y toda organización debería dedicar un esfuerzo significativo a su estudio y selección. Generalmente para proteger nuestra infraestructura e información solemos añadir el mayor número de elementos posibles, aplicando el concepto de defensa en profundidad. Estos elementos pueden incluir desde un simple antivirus hasta complejas segmentaciones y configuraciones de red. Dos de los elementos más comunes hoy en día en la defensa de nuestros sistemas son los firewalls y los sistemas de detección de intrusos, que serán explicados brevemente a continuación. 2.2.1 Bloquear el acceso no autorizado: Firewall Un firewall o cortafuego es una parte de un sistema o una red que está diseñada para bloquear el acceso no autorizado, permitiendo al mismo tiempo comunicaciones autorizadas. Entre sus cometidos están los de permitir, limitar, cifrar y descifrar, el tráfico entre los diferentes ámbitos sobre la base de un conjunto de normas y otros criterios. Un firewall correctamente configurado añade una protección necesaria a la red, pero en ningún caso debe considerarse suficiente. Un firewall mal configurado puede permitir ciertos tipos de peticiones del exterior que pueden ocasionar el riesgo de ser explotadas colapsando el firewall y anulando su funcionamiento. Por otro lado, tenemos el problema de que no podemos protegernos de los elementos y equipos que están en el lado interno del firewall por lo que es susceptible a ataques tipo reverse shell, donde un equipo previamente infectado puede establecer conexiones desde el interior permitiendo el acceso remoto al equipo y a la red. - 10 - 2.2.2 Detección de intrusos: IDS Los sistemas de detección de intrusos son un elemento integral y necesario en una infraestructura de información segura, representando el complemento ideal a los cortafuegos en las redes. De forma sencilla, un IDS es un programa usado para detectar accesos no autorizados a un computador o a una red. El funcionamiento de estas herramientas se basa en el análisis pormenorizado del tráfico de red, el cual al entrar al analizador es comparado con firmas de ataques conocidos, o comportamientos sospechosos, como puede ser el escaneo de puertos, paquetes malformados, etc. El IDS no sólo analiza qué tipo de tráfico es, sino que también revisa el contenido y su comportamiento. Este sistema tiene varios inconvenientes. Por un lado es incapaz de trabajar con tecnologías de cifrado como SSH, y por otro lado suele provocar falsos positivos o falsos negativos generando registros demasiado grandes. 2.2.3 Nuevo concepto de seguridad: Tomar el control Tradicionalmente, las herramientas aplicadas a la seguridad informática han sido puramente defensivas. Entre estas incluimos a firewalls, controles de acceso, sistemas de detección de intrusos (IDS), técnicas de cifrado, etc. La estrategia habitualmente ha coincidido con el paradigma clásico de seguridad “proteger, detectar y reaccionar”, es decir, proteger la red lo mejor posible, detectar posibles fallos y reaccionar para solucionarlos. El problema de este enfoque es que el atacante tiene la iniciativa y por lo tanto está un paso por delante. La continua carrera entre hackers y expertos en seguridad para superarse unos a otros es simplemente interminable. Ya que los ataques cambian constantemente, las tecnologías de seguridad actuales no pueden hacerles frente. De este modo, la tecnología se centra ahora en cambiar estos procedimientos defensivos (que son soluciones puntuales o que proporcionan seguridad en un perímetro) para tratar de aprender más sobre los hackers, sus patrones de ataque y su comportamiento. - 11 - 3 HONEYPOTS El concepto de honeypot solventa muchas de las carencias de otros dispositivos como firewalls e IDS mencionados anteriormente. Con este nuevo concepto tendremos la habilidad de tomar la ofensiva, dejando a un lado la tradición de solo defendernos. Es en el concepto de honeypot donde nos centraremos a partir de ahora. 3.1 DEFINICIÓN DE HONEYPOT "Nunca interrumpas a tu enemigo mientras comete un error" Napoleón Bonaparte Se llama honeypot (en Inglés, tarro de miel) a una herramienta usada en el ámbito de la seguridad informática para atraer y analizar el comportamiento de los atacantes en Internet. Parece una contradicción, puesto que la función habitual de las herramientas de seguridad es exactamente la contraria: mantener alejados a los atacantes o impedir sus ataques. Sin embargo, desde hace unos años, se utilizan los honeypots para atraer a atacantes hacia un entorno controlado, e intentar conocer más detalles sobre cómo estos realizan sus ataques, e incluso descubrir nuevas vulnerabilidades. 3.2 HISTORIA Y ORIGEN DE LOS HONEYPOTS El término honeypot fue acuñado durante la Guerra Fría para designar una técnica de espionaje. Hasta comienzos de la década de los 90 no comienza a utilizarse en el campo de la seguridad informática. La lista que mostramos a continuación resume los principales evento de la historia de los honeypots: - 12 - 1990/1991 – Aparecen las primeras publicaciones donde se recoge el concepto honeypot: “The Cuckoo’s Egg” de Clifford Stoll y “An Evening With Berferd” de Bill Cheswick. 1997 – Fred Cohen lanza la herramienta Deception Toolkit, considerada como la primera aplicación honeypot disponible para la comunidad. 1998 – Aparece CyberCop Sting, primer honeypot commercial. CyberCop String introduce el concepto de múltiples sistemas virtuales. 1998 – Marty Roesch y GTE Internetworking comienzan el desarrollo de una aplicación honeypot que finalmente se convierte en NetFacade. Este trabajo también inicia el concepto de Snort. 1998 – Aparece BackOfficer Friendly, una solución fácil de usar y gratuita que introducirá a mucha gente al concepto de honeypot. 1999 – Formación del proyecto Honeynet y publicación de una serie de documentos llamados “Know your Enemy”. Ambos trabajos ayudaron a aumentar la conciencia y el valor de los honeypots. 2000/2001 – Empiezan a usarse honeypots para capturar y estudiar la actividad de gusanos informáticos. Cada vez más organizaciones adoptan la tecnología honeypot, tanto para la detección de ataques como para la investigación de nuevas amenazas. 2004 – Se introduce el concepto de honeypot virtual el cual permite simulr varios host en una única maquina. 2004 – Australia y Londres hacen uso de honeypots WIFI para investigar el uso no autorizado de redes wireless. 3.2 CLASIFICACIÓN DE LOS HONEYPOTS Podemos clasificar los diferentes tipos de honeypot existentes basándonos en cuatro aspectos generales: - 13 - 3.2.1 Atendiendo al uso Honeypots de Producción: El objetivo de este tipo de honeypot es proteger a la organización o empresa. Han sido diseñados para reducir significativamente el riesgo de intrusiones, descubriendo vulnerabilidades y alertando a los administradores de los ataques. Además, tienen la capacidad de distraer al atacante del objetivo real, ganando tiempo para la protección del ambiente de producción. Conocer esta información permite al administrador cerrar el agujero de seguridad detectado. Su objetivo, en resumen, consiste en prevenir, detectar y responder. Honeypots de Investigación: El objetivo, en este caso, es retener al intruso el mayor tiempo posible, con el fin de estudiar y comprender las técnicas y acciones que ha utilizado para comprometer el sistema. Este tipo de honeypot se centra en recolectar toda la información posible sobre los nuevos exploits y permitir así a los fabricantes de soluciones de seguridad actualizar el contenido de su base de firmas de ataques. 3.2.2 Atendiendo a la interacción Honeypots de alta interacción: Los honeypots de alta interacción son soluciones complejas ya que implican la utilización de sistemas operativos y aplicaciones reales montados en hardware real. La gran ventaja de esta solución es la posibilidad de capturar grandes cantidades de información referente a los atacantes y sus comportamientos. No obstante, esta capacidad también incrementa el riesgo de que los atacantes puedan utilizar estos sistemas para lanzar ataques a sistemas internos que no forman parte de los honeypots. En consecuencia, es necesaria la implementación de tecnología adicional de prevención, lo que requiere un esfuerzo extra en tiempo, instalación y mantenimiento. - 14 - Un buen honeypot de alta interacción debe ser un clon lo más perfecto posible de las máquinas que se supone que debe simular, ya sea un servidor o un equipo de usuario. En contrapartida, elegiremos voluntariamente no aplicar los parches de seguridad y dejar algunos agujeros de seguridad. Honeypots de baja interacción: Los honeypots de baja interacción no se componen de auténticos sistemas operativos o servicios, son simples emulaciones virtuales realizadas por una determinada aplicación. En este caso el diálogo o actividad entre el honeypot y el atacante se reduce a la mínima expresión, incluso llegando a ser inexistente. Las principales ventajas de los honeypots de baja interacción es que son relativamente fáciles de instalar y mantener; también implican un riesgo mínimo porque el atacante nunca tiene acceso a un sistema operativo real para perjudicar a otros sistemas. El ejemplo más simple de este tipo de honeypot se comporta de la siguiente manera: se coloca en espera un puerto determinado, cuando recibe una solicitud de conexión por parte de otra máquina se abre y cierra inmediatamente y envía un mensaje de alerta al responsable de seguridad, para informarle que se ha realizado un intento de conexión anormal al honeypot. Honeypots de media interacción: Los honeypots de media interacción intentan combinar las ventajas de los modelos expuestos anteriormente. Esta configuración brinda mayor actividad que un honeypot de baja interacción sin llegar a proveer un sistema operativo real sobre el cual interactuar. Pese a no utilizar un sistema operativo, esta solución implementa con detalle la respuesta de los servicios solicitados. Además, minimiza los riesgos característicos de los honeypots de alta interacción, concretamente evita que el atacante utilice nuestro sistema para comprometer a otros y se reduce el tiempo de instalación y mantenimiento. - 15 - A modo de ejemplo, si deseamos simular la presencia de un servidor web Apache, configuramos el honeypot para esperar sobre el puerto 80. Cuando recibe una llamada, abre el puerto y espera que el usuario pida una página Web, a la que responderá simulando la reacción del servidor Web Apache. Nivel de Interacción Bajo Medio Alto Sistema Op. Real No No Si Instalación Fácil Fácil Difícil Mantenimiento Fácil Fácil Difícil Riesgo Bajo Bajo Alto Grado participación Bajo Medio Alto Datos obtenidos Bajo Medio Alto Cuadro 3.1: Comparativa de honeypots por su nivel de interacción 3.2.3 Atendiendo a la implementación Honeypots físicos: Un honeypot físico está constituido por una máquina física real, donde el honeypot está conectado a la red y es accesible a través de una única dirección IP. Este tipo de honeypot es poco práctico en escenarios reales debido a la limitación de tener una única dirección IP por máquina y un alto coste en el mantenimiento. Los honeypots físicos están ligados habitualmente a los honeypots de alta interacción. Honeypots virtuales: Suelen ser implementados usando una única máquina física que permite alojar varios honeypots virtuales. Este tipo de honeypot es mucho más rentable y eficaz por su capacidad de emular grandes espacios de direcciones IP al mismo tiempo. Al contrario que los honeypots físicos, están relacionados con los honeypots de baja/media interacción. - 16 - 3.2.4 Atendiendo a su rol Honeypots servidor: Un honeypot servidor es aquel que ofrece servicios vulnerables esperando a ser atacado. Están diseñados para que no inicien ni generen ningún tipo de tráfico, a menos que sean comprometidos. Son útiles en la detección de nuevas vulnerabilidades, el análisis de nuevas amenazas y la recolección de malware. Honeypots cliente: Para detectar ataques en el lado del cliente, es necesario un sistema que interactúe con un servidor o un proceso malicioso. Para ello, los honeypots de tipo cliente son capaces de recorrer la red, interactuar con servidores y clasificarlos en función de su contenido. 3.3 ¿QUÉ TIPO DE HONEYPOT ELEGIR? Con el fin de diseñar un honeypot, es necesario definir, en primer lugar, los objetivos que deberá satisfacer. Hay muchas preguntas que deberemos responder antes de comenzar, incluyendo las siguientes: 1. ¿Cuál es la razón principal por la que usaremos un honeypot? 2. ¿Qué sistema operativo será emulado por el honeypot? 3. ¿Qué servicios o servidores serán emulados? 4. ¿Qué cantidad de sistemas deben ser emulados por el honeypot? 5. ¿Se desea controlar las amenazas internas, externas o ambas? 6. ¿Se ofrecerán sistemas operativos no actualizados como cebo, o se necesita estudiar nuevos exploits teniendo sistemas operativos totalmente actualizados? - 17 - Las respuestas a estas preguntas nos indicarán esencialmente qué tipo de honeypot elegir y la forma de configurarlo. Sin embargo, hay una característica en la que debemos detenernos por la complejidad e importancia de la misma, que no es otra que el nivel de interacción. La interacción nos mide el nivel de actividad que un atacante puede llegar a tener con un honeypot. A continuación, estudiaremos cuando utilizar cada tipo de honeypot atendiendo a su nivel de interacción: Usaremos honeypots de baja interacción cuando: No tenemos suficiente hardware para implementar una red de honeypots (honeynet) y el riesgo de otro tipo de honeypot es inaceptable. El objetivo es identificar escaneos y ataques automatizados, recogiendo datos sobre el tipo y tendencias de ataques. Por el contrario, no tendremos la capacidad de distraer a intrusos con un nivel mínimo de conocimientos. Usaremos honeypots de media interacción cuando: El riesgo que se asume al instalar nuestro honeypot es aceptable. En este caso disponemos de la capacidad de distraer a los intrusos de nuestros sistemas reales. El objetivo en la mayoría de casos es simular la presencia de varias máquinas ficticias, capaces de simular verazmente el funcionamiento de muchos servicios y sistemas operativos distintos. Usaremos honeypots de alta interacción cuando: El objetivo es observar las actividades y comportamiento de los intrusos. Es inútil en el marco de la protección de una red informática de empresa, aportando solo una plusvalía en el marco de investigación sobre el pirateo. Por lo tanto, se trata de una actividad más académica que realmente enfocada a la protección de empresa. Además debemos adquirir conocimientos extras en análisis forense. Desde nuestro punto de vista y citando al filosofo, lógico y científico de la Antigua Grecia Aristóteles, en el término medio esta la virtud, lo cual no significa mediocridad, sino un equilibrio entre lo que nos ofrecen los honeypots de alta y baja interacción, es decir, minimizar riesgos sin renunciar a credibilidad, que es lo que conseguimos utilizando honeypots de media interacción. - 18 - 3.4 UBICACIÓN DE LOS HONEYPOTS EN LA RED Los honeypots pueden ser ubicados en distintas zonas de la red, dependiendo de las necesidades propias de la organización. La ubicación de los honeypots es esencial para maximizar su efectividad, ya que una ubicación de difícil acceso eliminara gran parte de su atractivo para los atacantes. Por otro lado, una ubicación artificial u obvia hará que cualquier atacante experimentado descubra y evite todo tipo de contacto con el honeypot. Conceptualmente pueden ser ubicados en tres zonas, que están relacionadas directamente con la posición respecto al firewall: Antes del firewall (Zona externa) Después del firewall (Zona interna) En la DMZ Figura 3.2: Distintas ubicaciones de los honeypots en la red - 19 - 3.4.1 Antes del firewall (Zona externa) En esta ubicación es donde menos riesgo se suministra a la red, ya que al encontrarse fuera de la zona protegida por el firewall, puede ser atacado sin ningún tipo de peligro para el resto de la red. La ubicación antes del firewall se caracteriza por tener acceso directo con los atacantes, lo que nos permite obtener trazas reales de comportamiento y estadísticas fiables sobre la cantidad y calidad de los ataques. Por otro lado, con esta configuración evitaremos la interferencia de alertas con otros sistemas de seguridad. Sin embargo, existe el riesgo de generar grandes volúmenes de tráfico, precisamente por la facilidad que ofrecemos para ser comprometidos. Otro aspecto importante a tener en cuenta es que no podemos detectar intrusiones internas. 3.4.2 Detrás del firewall (Zona interna) En esta posición, el honeypot queda afectado por las reglas de filtrado del firewall. Por esta razón, el administrador de la red debe decidir que reglas modificar para permitir acceso a nuestro honeypot. La ubicación detrás del firewall permite la detección de atacantes internos así como la identificación de firewalls mal configurados, máquinas infectadas e incluso atacantes externos. Podemos calificar esta configuración como un “sistema de alerta temprana”. Sin embargo, existe la posibilidad de que un atacante tenga vía libre a toda nuestra red si logra comprometer el honeypot. Para minimizar este riesgo, podemos ubicar otro firewall extra en el honeypot que limite la actividad de salida (reverse firewall) o usar honeypots de baja/media interacción. Otra contrapartida de esta configuración es la gran cantidad de alertas que nos generaran otros sistemas de seguridad de nuestra red (firewalls, IDS…) al recibir ataques. - 20 - 3.4.3 En la DMZ (Zona desmilitarizada) Esta configuración nos permite tener la posibilidad de detectar ataques tanto internos como externos con una simple reconfiguración de firewall puesto que nos encontramos en la zona de acceso público. Es la arquitectura ideal para empresas u organizaciones. La ubicación en esta zona permite por un lado juntar en el mismo segmento a nuestros servidores de producción con el honeypot y por el otro controlar el peligro que añade su uso, ya que existe un firewall que lo aísla del resto de nuestra red. Además eliminamos las alarmas de nuestros sistemas internos de seguridad. Ubicando el honeypot dentro de la DMZ no conseguiremos el mejor sistema de alerta temprana posible, además tratamos con el modelo más complejo de todos los descritos. Otro aspecto a tener muy en cuenta, es la necesidad de securizar el resto de los sistemas de la DMZ. 3.5 VENTAJAS EN EL USO DE HONEYPOTS Los honeypots no reemplazan ningún mecanismo de defensa existente, sino que añaden valores tan importantes a la seguridad como los siguientes: 3.5.1 Disminución de falsos positivos Todo falso positivo implica un aumento de ruido en los registros de seguridad. Los falsos positivos son muy comunes en los sistemas de detección de intrusos (IDSs) y cortafuegos, al igual que los falsos negativos, aunque estos últimos se den en menor medida. Se ha hecho un esfuerzo tremendo en el intento de reducir el ruido procedente de firewalls e IDSs. Habitualmente, el ruido es tan alto que los administradores tienen grande dificultades a la hora de la lectura y análisis de sus registros, disminuyendo el valor de los dispositivos de seguridad. - 21 - Los honeypots obvian el problema de los falsos positivos porque toda la actividad que se realice con ellos es por definición no autorizada. El bajo nivel de ruido característico de los honeypots tiene gran valor. Todo lo que el honeypot capture debería ser investigado. 3.5.2 Detección de nuevas amenazas Las tecnologías IDS, firewall y antivirus también tienen la dificultad para identificar ataques o comportamientos desconocidos. Como dijimos antes, cualquier acceso al honeypot es una anomalía y debe ser analizada, por lo que también es capaz de detectar falsos negativos o lo que es lo mismo es capaz de identificar ataques nuevos y desconocidos 3.5.3 Detección temprana La baja incidencia de falsos positivos y falsos negativos conduce al honeypot a detectar rápidamente las amenazas. Algunos administradores utilizan honeytokens, explicados posteriormente, para asegurar la detección temprana. Independientemente de cómo el honeypot detecta un exploit, puede generar inmediatamente una alerta advirtiendo del intento de compromiso al sistema. De este modo, se puede actuar de forma rápida, cerrando el agujero de seguridad y minimizando los daños. 3.5.4 Defensa en profundidad El concepto de defensa en profundidad, en líneas generales, implica el hecho de que cuantos más elementos de seguridad añadamos más protegidos estaremos. El objetivo de este modelo es claro: para que un atacante llegue a un dato o información, debe vulnerar más de una medida de seguridad. El honeypot conforma otra línea de seguridad más, de forma que si por ejemplo lo colocamos dentro de la red y algo consigue colarse más allá del firewall e IDS terminando dentro de la red, es muy probable que el honeypot lo recoja. Una defensa en capas refuerza la protección del sistema de información y de ahí la importancia de esta característica. - 22 - 3.5.5 Otras ventajas Simplicidad: Los honeypots son conceptualmente muy simples. No hay por qué desarrollar algoritmos raros, ni complejas tablas que mantener, o firmas que actualizar. Mientras más simple sea la tecnología, menos posibilidades de errores o malas configuraciones habrá. Recursos mínimos: Los honeypots requieren recursos mínimos, sólo capturan actividad irregular. Esto significa que un viejo Pentium con 128mb de RAM puede manejar fácilmente una red clase B entera. Encriptación o IPv6: A diferencia de la mayoría de las tecnologías para la seguridad, como los sistemas IDS, los honeypots trabajan bien en entornos encriptados como IPv6. Independientemente de lo que los atacantes lancen hacia el honeypot, este lo detectará y lo capturará. Alerta temprana: Un honeypot puede ser usado incluso como un sistema de alerta temprana (no confundir con detección temprana) alertando a los administradores de cualquier intento hostil antes de que se comprometa al sistema. Distracción: A diferencia de los IDSs, los cuales solo pueden identificar cuándo y cómo un atacante entra en la red, los honeypot tienen la capacidad de distraer al atacante, haciéndonos ganar un valioso tiempo. 3.6 DESVENTAJAS EN EL USO DE HONEYPOTS 3.6.1 Visión limitada Los honeypots solo pueden capturar y rastrear actividad que interactúe directamente con ellos. De este modo, no podrán capturar los ataques a sistemas vecinos, a no ser que el atacante o la amenaza interactué con el honeypot al mismo tiempo. Si el hacker identifica el honeypot dentro de nuestra red, puede evitar cualquier tipo de contacto con él e infiltrarse en el resto de la organización, sin que el honeypot registre la intrusión. - 23 - 3.6.2 Riesgo Como en toda nueva tecnología, se agregan riesgos inherentes a ellas. Así por ejemplo, los firewalls tienen el riesgo de ser penetrados, los sensores IDSs tienen el riesgo de que no detecten un ataque o la encriptación tiene el riesgo de que sean rotos sus algoritmos. Los honeypots no son diferentes, existe el riesgo de que sean apoderados y controlados por hackers, utilizándolos para intentar dañar otros sistemas. Dependiendo del tipo de honeypot este riesgo es más o menos importante, así en un honeypot de baja interacción este riesgo es inexistente mientras que en un honeypot de alta interacción nos encontramos ante un riesgo de carácter crítico. 3.6.3 Fingerprinting Fingerprinting es una técnica que cosiste en analizar las huellas que deja un sistema operativo en sus conexiones de red con el fin de identificar servicios o al propio sistema operativo. Está basada en los tiempos de respuesta a los diferentes paquetes, al establecer una conexión en el protocolo TCP/IP, que utilizan los diferentes sistemas operativos. El problema viene cuando el honeypot intenta emular estas huellas para funcionar como un sistema convencional, hecho que se suele dar en los honeypots de baja/media interacción. Existe la posibilidad de que aparezcan ciertas características o comportamientos que no corresponden con lo esperado, haciendo que el atacante identifique nuestro honeypot como tal. 3.7 VARIEDADES DE HONEYPOTS 3.7.1 Honeytokens Se conoce como Honeytokens a ciertos recursos o cebos digitales que son usados para generar alertas. Por ejemplo un Honeytoken puede ser una cuenta del Administrador en un servidor, pero dicha cuenta realmente no tiene privile- 24 - gios y cuando alguien intenta autentificar estas credenciales el sistema genera una alerta. 3.7.2 Honeypages Los honeypages o páginas trampa son páginas web falsas insertadas dentro de una aplicación web. Estas páginas no tienen ningún uso y no se puede acceder a ellas a través de los links de la aplicación web por lo que los usuarios normales nunca deberían acceder a ellas. 3.7.3 Honeyfarms En lugar de desplegar un gran número de honeypots, o honeypots en todas las redes, los honeypots son desplegados en una ubicación consolidada. Esta única red de honeypots se convierte en la granja honeypot, un recurso de seguridad dedicado. Los atacantes se redirigen a la granja, independientemente de qué red estén sondeando. Es básicamente una colección centralizada de honeypots y herramientas de análisis. 3.7.4 Honeynets Esta variedad no es más que la extensión del concepto de honeypot. Dos o más honeypots en la red forman una honeynet. Aquí ya no se trata de simular o emular la presencia de una máquina sino la de una red completa. Existen dos tipos de Honeynets atendiendo a su implementación: Honeynets físicas y Honeynets virtuales. Honeynets físicas Como fácilmente podemos adivinar las honeynets físicas están compuestas únicamente por honeypots físicos (constituidos por una máquina física real). Por tanto, este primer tipo de honeynet no es un producto concreto o un software determinado, si no que es una arquitectura real. Para conseguir un entorno real - 25 - y altamente interactivo, se dispone de una configuración de red típica con todos sus elementos. Honeynets virtuales En este caso el honeynet no es más que un programa instalado en un único servidor (honeypots virtuales). Una vez configurada, esta máquina parece haberse convertido en un enrutador que hace de punto de acceso a una red muy grande compuesta de enrutadores virtuales, proporcionando a su vez acceso a subredes virtuales. Cada subred puede estar poblada por un número determinado de máquinas virtuales. - 26 - 4 ESTUDIO DEL ARTE A continuación, veremos algunos trabajos que siguen el concepto de Honeypot: 4.1 BACKOFFICER FRIENDLY (BOF) BOF es un honeypot de baja interacción. Funciona tanto en Windows como Unix, aunque suelen implementare en sistemas basados en Windows. BOF puede controlar hasta siete servicios emulados. Casi no tiene opciones de personalización, por lo que aunque es fácil de usar es muy limitado en funcionalidad. Su mayor ventaja es que es gratuito. Nivel de Iteración: Muy bajo Costo: Gratuito Licencias: Desconocidas Autor: Marcus Ranum y Andrew Lambeth Sitio web: Ventajas/Desventajas técnicas: Figura 4.1: Logotipo de BOF Ventajas Desventajas Fácil de instalar, configurar y mantener Solo monitoriza 7 puertos No supone un riesgo para otros sistemas Los puertos no pueden ser personalizados No permite administración remota No existe mecanismo de alerta remota Servicios de baja interacción Puede ser reconocido (fingerprint) Cuadro 4.1: Ventajas/Desventajas de BOF VALORACIÓN GENERAL - 27 - 4.2 SPECTER Specter es un honeypot comercial creado por NetSec, empresa de seguridad de red situada en Suiza. Conceptualmente es similar a BOF en que los atacantes no tienen ningún sistema operativo de acceso. A pesar de que Specter es conceptualmente similar a BOF, Specter tiene capacidades mucho mayores. La primera gran diferencia radica en el número de servicios que puede monitorear. Una segunda diferencia se encuentra en la habilidad de Specter para emular las aplicaciones. Figura 4.2: Logotipo de SPECTER Nivel de Iteración: Bajo Costo: 600 $ (Light), 900 $ (Normal) Licencia: Propietaria Autor: NetSec Sitio web: http://www.specter.com/ Ventajas/Desventajas técnicas: Ventajas Desventajas Fácil de instalar, configurar y mantener Solo monitoriza 14 puertos Administración remota Baja personalización de puertos Sistema de alerta remota Servicios de baja interacción No supone riesgo para otros sistemas Puede ser reconocido (fingerprint) Cuadro 4.2: Ventajas/Desventajas de SPECTER VALORACIÓN GENERAL - 28 - 4.3 KFSENSOR KFSensor es un honeypot comercial que actúa como honeypot e IDS para sistemas Windows. El sistema ofrece muchísimas posibilidades de configuración e incluye la posibilidad de registros detallados, análisis de datos y alertas de seguridad. A diferencia de la mayoría de honeypots, que finalmente han sido desatendidas, KFSensor se sigue actualizando y manteniendo por el creador de Tom Wright desde que fue lanzado en 2003. Nivel de Iteración: Bajo Costo: 200 $ (Standard), 600 $ (Professional) Licencia: Propietaria Autor: KeyFocus Ltd. (Tom Wright) Sitio web: http://www.keyfocus.net/kfsensor/ Ventajas/Desventajas técnicas: Figura 4.3: Logotipo de KFSensor Ventajas Desventajas Fácil de instalar, configurar y mantener Solo monitoriza 14 puertos Administración remota Baja personalización de puertos Sistema de alerta remota Servicios de baja interacción No supone riesgo para otros sistemas Puede ser reconocido (fingerprint) Cuadro 4.3: Ventajas/Desventajas de KFSensor VALORACIÓN GENERAL - 29 - 4.4 DECOY SERVER (MANTRAP) Decoy Server (anteriormente llamado ManTrap) es un honeypot de alta interacción comercial distribuido por Symantec. Decoy Server es único, ya que está diseñado para no ser sólo atacado, sino también comprometido. Decoy Server crea un entorno de trabajo controlado con el que un atacante puede interactuar. Nivel de Iteración: Alto Coste: 1000$ Licencia: Propietaria Autor: Recourses Technologies Sitio web: http://www.symantec.com/ Ventajas/Desventajas técnicas: Figura 4.4: Caratula de Decoy Server Ventajas Desventajas Puede monitorizar cualquier puerto Difícil de instalar, configurar y mantener Alta personalización de puertos Puede ser reconocido (fingerprint) Sistema de alerta remota Puede suponer riesgo para otros sistemas Administración remota Servicios de alta interacción Cuadro 4.4: Ventajas/Desventajas de Decoy Server VALORACIÓN GENERAL - 30 - 4.5 HONEYD HoneyD es un honeypot OpenSource y de baja interacción diseñado para la plataforma Unix. El hecho de que sea OpenSource significa que tiene dos rasgos: (1) que es gratis, y (2) que tenemos acceso al código, pudiéndolo personalizar. A diferencia de los honeypots vistos anteriormente, HoneyD puede detectar actividad en cualquier puerto TCP/UDP. Estos servicios emulados solo están diseñados para engañar y capturar la actividad de sus atacantes. Nivel de Iteración: Bajo/Medio Coste: Gratuito Licencia: GNU General Public License Autor: Niels Provos Sitio web: http://www.honeyd.org/ Ventajas/Desventajas técnicas: Figura 4.5: Logotipo de HoneyD Ventajas Desventajas Puede monitorizar cualquier puerto Difícil de instalar, configurar y mantener Evita ser reconocido (fingerprint) No posee sistema de alerta remoto No supone riesgo para otros sistemas No permite administración remota Alta personalización de puertos Servicios de alta/media interacción Cuadro 4.5: Ventajas/Desventajas de HoneyD VALORACIÓN GENERAL - 31 - 4.6 TABLA COMPARATIVA Sencillez Libre de riesgos asociado Capacidades remotas Número de puertos ilimitado Personalización de puertos Libre de fingerprinting Servicios de alta interacción Gratuita Actualizado Cuadro 4.6: Comparativa de trabajos relacionados - 32 - CANDY TRAP HONEYD KFSENSOR SPECTER BOF APLICACIONES HONEYPOT DECOY SERVER A continuación, se presenta una tabla comparativa del proyecto y de los trabajos relacionados anteriormente. 5 OBJETIVOS GENERALES Con el proyecto Candy Trap pretendemos desarrollar una aplicación basada en la tecnología honeypot que consiga consolidarse como una herramienta indispensable para todo encargado en la protección de una red. A continuación se muestran los objetivos del proyecto en detalle: Ampliar y consolidar los conocimientos en redes y seguridad informática. Aun por completar…. - 33 - 6 MOTIVACIONES Todo comenzó en un curso de seguridad en redes y sistemas. Mediante una serie de ejercicios prácticos, pretendíamos emular los escenarios típicos de un incidente de seguridad informática, para ello un grupo de alumnos debía encargarse de la administración y seguridad de una red, mientras otro intentaba vulnerar sus defensas. Era turno de defender, por lo que decidimos proteger nuestra red con una serie de medidas de seguridad entre las que destacaban: un cortafuegos de tres patas y un sistema IDS con varios sensores repartidos por la red. Una vez implementados estos sistemas nos surgió la pregunta, ¿y ahora qué?, tocaba esperar y confiar en que nuestras salvaguardas fueran capaces de frenar cualquier intento de comprometer nuestros sistemas. Sinceramente no era una idea que nos apasionara, por lo que intentamos buscar alternativas que nos dotaran de cierto control sobre el atacante. En esa búsqueda nos topamos con el concepto de honeypot, que bien podría permitirnos controlar la situación, siempre y cuando el intruso no diferenciara el honeypot del sistema real. Tras documentarnos y probar una decena de aplicaciones llegamos a la conclusión de que, a pesar de existir aplicación con grande posibilidades, ninguna de ellas podíamos considerarla como completa. Una vez decidida la aplicación que usaríamos, en nuestro caso HoneyD, solo nos quedaba comprobar su efectividad sobre la cual teníamos serias dudas. Todos estos interrogantes quedarían disipados cuando, tras emular varios servicios vulnerables, comprobamos que se generaba tráfico contante en el honeypot y más aun cuando los compañeros encargados de atacar reportaron una supuesta vulnerabilidad que no era más que nuestro servicio emulado por el honeypot. Tras el éxito obtenido y con la realidad de que no existía una herramienta referente decidimos intentar mejorar lo existente mediante la realización de este proyecto. - 34 - 7 REFERENCIAS ANDERSON, James P.: Computer security threat monitoring and surveillance. Fort Washington: James P. Anderson Co, 1980. 56 p. Informe técnico para el gobierno norte americano. Colaboradores. Seguridad Informática [en línea]. Wikipedia, La enciclopedia libre, 2012 [ref. de 12 de febrero del 2012]. Disponible en Internet: <http://es.wikipedia.org/wiki/Seguridad_inform%C3%A1tica> GALDÁMEZ, Pablo. Seguridad Informática [en línea]. Instituto tecnológico de informática, 2003 [ref. de 18 de febrero del 2012]. Disponible en Internet: <www.iti.es/media/about/docs/tic/01/2003-07-seguridad.pdf> GRIMES, Roger A.: Honeypots for Windows. Berkeley: Apress, 2005. 424 p. ISBN: 1590593359. JOSHI, R.C; SARDANA, Anjali. Honeypots: A new paradigm to information secu- rity. Nuevo Hampshire: Science Publishers, 2011. 320 p. ISBN: 1578087082. SPITZNER, Lance. Honeypots: Tracking Hackers. Canada: Addison-Wesley, 2002. 480 p. ISBN: 0321108957. The Honeynet project. Know Your Enemy: Learning about Security Threats. 2a ed. Canada: Addison-Wesley, 2004. 800 p. ISBN: 0321166469. - 35 -