Web Honeypot
Total Page:16
File Type:pdf, Size:1020Kb
Proyecto de Grado Web Honeypot Autores: Supervisores: Federico Nicol´as Pernas Gustavo Betarte Javier Agust´ın Sanchez Rodrigo Martinez Nicol´as Zeballos Marcelo Rodr´ıguez 2020-12-27 Facultad de Ingenier´ıa- Udelar Abstract ABSTRACT Las Aplicaciones Web suponen un gran atractivo para las Organizaciones, ya que mediante el desarrollo de una ´unicaaplicaci´onweb se puede llegar a un mayor p´ublico,debido a que ´estospueden acceder a ella f´acilmente mediante, por ejemplo, un navegador. Sin embargo, el crecimiento de estas aplicaciones traen consigo preocupaciones sobre su seguridad. En los ´ultimosa~nosse ha estudiado como incorporar Honeypots, los cuales son dispositivos de seguridad (hardware o software) encargados de enga~nara los atacantes, dentro del ambito de las Aplicaciones Web. Estos dispositivos son altamente empleados a nivel de seguridad de la red, pero es deseable poder aplicar sus conceptos y principios para proteger dichas Aplicaciones Web. A partir de estas premisas es que este proyecto se basa en la investigaci´onsobre la posibilidad de usar un Honeypot para proteger Aplicacioes Web en un ambiente de producci´onsin alterar su operativa. De manera de cumplir este objetivo, se especifica un framework gen´ericoy extensible, el cual se puede ver como un Honeypot Embebido de Aplicaciones Web que funciona dentro de la misma aplicaci´on.El Honeypot har´auso de Honeytokens para atraer la atenci´onde los atacantes y poder detectar su posible intrusi´onanalizando el estado de estos componentes en los distintos mensajes intercambiados en la comunicaci´on. Keywords: Honeypot, Honeytoken, Aplicaciones Web, HTTP, Framework, extensible. 2 Facultad de Ingenier´ıa- Udelar ´Indice ´Indice 1. Introducci´on 3 2. Revisi´onde antecedentes 4 2.1. Clasificaci´onde Honeypots . .4 2.2. Principios de Honeypots . .5 2.3. Aplicaciones Web . .5 2.4. Pasaje a Honeypots de Aplicaciones Web . .5 2.5. Content Management System . .7 2.6. Honeytokens y Breadcrumbs . .7 2.7. Sesi´on . .8 3. An´alisisy Dise~no 10 3.1. Objetivos . 11 3.2. An´alisisde HTTP y HTML . 11 3.2.1. Protocolo HTTP . 11 3.2.2. Lenguaje HTML . 12 3.3. Honeypot a desarrollar . 13 3.4. Componentes del Sistema . 16 3.5. Interacci´oncon el Honeypot . 18 3.6. Diagrama de Despliegue . 20 3.7. Diagrama de Clases . 23 3.8. Vista de operaciones . 25 4. Implementaci´on 27 4.1. Representaci´onde Honeytokens en el Honeypot . 27 4.1.1. Consideraciones sobre Honeytokens . 27 4.1.2. Tipos de Honeytokens . 27 4.2. Alcance . 31 4.2.1. Diagrama de Despliegue . 31 4.2.2. Diagrama de Clases y Diagrama de Operaciones . 33 4.3. Manejo de sesiones . 35 4.4. Persistencia de informaci´on . 36 4.5. Infraestructura . 37 4.6. Configuraci´ondel POC . 38 4.7. Dificultades detectadas . 40 4.8. Conclusiones acerca de la implementaci´on . 41 1 Facultad de Ingenier´ıa- Udelar ´Indice 5. Conclusiones y trabajo a futuro 42 5.1. Trabajo futuro . 42 5.1.1. Manejo de sesi´on . 42 5.1.2. Honeytokens . 42 5.1.3. Aumentar el inter´esdel atacante . 43 5.1.4. IOC y Automatizaci´ona trav´esde la plataforma MISP . 43 5.1.5. Recolecci´onde ´ıtems . 43 5.1.6. Despliegue de alarmas ante detecci´onde intrusi´on . 44 5.1.7. Reconocimiento de ataques . 44 5.2. Conclusiones . 45 Referencias 46 Appendices 48 A. Funcionamiento de la herramienta 48 A.1. Escenario 1: Modificaci´on del valor de un input oculto . 48 A.2. Escenario 2: Eliminaci´onde input oculto . 50 A.3. Escenario 3: Modificaci´on del valor de una cookie . 53 2 Facultad de Ingenier´ıa- Udelar 1 Introducci´on 1. Introducci´on La seguridad inform´aticatom´ouna trascendencia en ascenso constante desde el incremento del uso de las aplicaciones web. La gran mayor´ıamanejan informaci´onsensible sobre los usuarios, motivo por el cual los atacantes realizan diversas acciones intrusivas sobre las aplicaciones web en b´usquedade vulnerabilidades para hacerse poseedores de esa informaci´on.Asimismo, estos atacantes tambi´enpueden interesarse en da~nardirectamente a la aplicaci´onmediante ataques conocidos, como por ejemplo denegaci´onde servicio. Existen diversas formas de reconocer problemas de seguridad sobre las aplicaciones web, una de ellas es realizar m´ultiplespruebas de seguridad, tarea conocida como hacking ´etico1. Su finalidad est´aen identificar vulnerabilidades sobre determinada aplicaci´on,para lo que es debido situarse del lado atacante con el objetivo de reconocer como perjudicar a dicha aplicaci´on.A su vez, existe otro enfoque m´asproactivo, el cual consiste en agregar dispositivos de seguridad a la infraestructura, como son los Honeypot. Estos Honeypots son utilizados para atraer a los atacantes hacia ellos en b´usquedade que sus ataques no logren vulnerar a los activos principales, y adem´asgenerar informaci´onsobre los ataques recibidos. Sin embargo, la concepci´onde los Honeypots no fue enfocada en el ´ambito de las aplicaciones web, por lo que el trabajo hasta el momento acerca de estos dispositivos en esta ´areaes muy poco. Por lo tanto: En este proyecto se persigue el objetivo de investigar la adaptaci´onde Honeypot dentro del ´area de las aplicaciones web en ambientes de producci´on,evitando un impacto significativo sobre la arquitectura establecida. Este documento se distribuye de la siguiente forma: en la secci´onRevisi´on de antecedentes se presenta el contexto te´oricoa partir del documento Estado del Arte [1]. En la secci´onAn´alisis y Dise~nose presenta un resumen del documento An´alisisy dise~no [2] donde se definen nuevos conceptos a partir de un an´alisisdel comportamiento y el funcionamiento que debe tener un Honeypot como el deseado. En la secci´onImplementaci´onse describe y desarrolla un caso de estudio a trav´esde una prueba de concepto de un Honeypot con las caracter´ısticasdefinidas en la secci´onanterior. Por ´ultimo,en Conclusiones y trabajo a futuro se presentan posibles l´ıneas de investigaci´onque permiten extender el proyecto, y conclusiones finales. 1Se puede ver m´as detalle acerca de este concepto en https://www.synopsys.com/glossary/ what-is-ethical-hacking.html 3 Facultad de Ingenier´ıa- Udelar 2 Revisi´onde antecedentes 2. Revisi´onde antecedentes En el documento Estado del Arte [1] se estudi´ola literatura disponible en donde se presentan diferentes definiciones sobre los Honeypots. Eric Cole, Ronald Krutz y James Conley [3] los defi- nen como sistemas dise~nadospara parecerse a algo que un intruso pueda atacar, construidos con el principal prop´ositode desviar los ataques y aprender de estos sin comprometer la seguridad de la red. Por su lado, Joseph Migga Kizza [4] los define como un mecanismo de se~nuelomonitoreado que se utiliza para mantener a un hacker alejado de recursos valiosos de la red y proporcionar una indicaci´ontemprana de un ataque. Mientras, Lance Spitzner [5] define a estos dispositivos como recursos de seguridad cuyo valor radica en ser sondeados, atacados o comprometidos. En el contexto de este proyecto definiremos Honeypot como: Un dispositivo de seguridad que funciona como \cebo" llamativo para los atacantes, lo cual provoca que se mantengan alejados de los activos principales y que se pueda generar informaci´onsobre sus ataques 2.1. Clasificaci´onde Honeypots Joseph Migga Kizza [4] y Lance Spitzner [5] clasifican a los Honeypots de dos maneras. La primera de ellas es respecto a su prop´osito, siendo estas categor´ıaslas de Honeypots de producci´on, que son aquellos presentes en ambientes de producci´onde una organizaci´ondonde su finalidad es desviar la atenci´onde los atacantes sobre los activos principales, y Honeypots de investigaci´on, que tienen la finalidad de ser utilizados para generar informaci´onacerca de los ataques realizados sobre el mismo. Se espera que los Honeypots de producci´onsirvan para prevenir ataques (mantener alejados a los atacantes), detectar ataques (reconocer y alertar actividad sospechosa) y responder ante ataques (devolver al atacante un resultado esperado por ´el). La segunda clasificaci´onse basa en la interacci´onque tiene un atacante con el dispositivo. Ante mayor interacci´on,aumenta la cantidad de acciones que podr´arealizar un atacante, sin embargo, tambi´enaumenta el riesgo asociado a su uso. El primer nivel dentro de esta clasifica- ci´ones el de baja interacci´on, identific´andose principalmente por ser un componente sencillo capaz de brindar respuestas simples a un atacante. Un nivel de alta interacci´on pretende simu- lar completamente un servicio, sistema operativo u otro componente funcionalmente completo, acarreando consigo un alto costo de puesta en producci´on.Por ´ultimo,el nivel de media in- teracci´on es una combinaci´onde los dos anteriores, logrando un Honeypot con gran nivel de interacci´ona bajo costo de despliegue. 4 Facultad de Ingenier´ıa- Udelar 2 Revisi´onde antecedentes 2.2. Principios de Honeypots Las siguientes tres principios se infieren de los distintos papers analizados en el documento Estado del Arte [1]: no interferencia, que puede entenderse como la capacidad de ser agregados dentro de una infraestructura sin alterar el funcionamiento previo. No exposici´on, el cual hace referencia a que un Honeypot no debe ser expuesto de manera tal que reduce las posibilidades de que un usuario \normal" pueda llegar a ´el.Por ´ultimoel principio no establecer comunicaci´on con usuarios leg´ıtimos, el cual refuerza el principio anterior y refiere a evitar la mayor cantidad de falsos positivos, entendiendo que para acceder al Honeypot es necesario que se realice alguna actividad que pueda considerarse sospechosa. 2.3. Aplicaciones Web En la actualidad muchos negocios operan mediante sitios o aplicaciones web, por lo que es de inter´esencontrar maneras de proteger estos puntos de entrada a una red privada. Su dificultad de protecci´onradica en que no solo presentan un ´unicopunto de riesgo, sino que pueden potencialmente presentar varias debilidades.