scieee AI-readable full text Open interactive document viewer

Sistema de detección de ataques DDoS en Tor

Gago Padreny, Ignacio

Abstract

Para proteger la privacidad, Tor, un sistema anónimo muy popular, dirige el tráfico a través de múltiples relays. Esta red ha sido sujeto de numerosos ataques con la intención de desenmascarar las identidades de los usuarios, siendo los ataques de denegación de servicio unos de los más utilizados. No solo este tipo de ataques se han convertido en una amenaza en Tor, además han tenido gran importancia en Internet. En este trabajo, se propone un sistema basado en anomalías para detectar estos ataques. El tráfico se analiza sin comprometer la privacidad de los usuarios y de _el se extraen datos que a través de ciertas métricas permiten modelizarlo a partir de series temporales para detectar anomalías. Realizar pruebas de la herramienta desarrollada ha supuesto un gran reto debido a las dificultades que supone obtener tráfico de ataques de denegación de servicio tanto en Internet como en Tor, donde la inexistencia de datasets de dominio público en esta última ha supuesto la necesidad de generarlos.

Full text

Sistema de Detecci´on de Ataques DDoS en Tor TRABAJO DE FIN DE GRADO Ignacio Gago Padreny Directores: Luis Javier Garc´ıa Villalba Ana Lucila Sandoval Orozco Doble Grado en Ingenier´ıa Inform´atica y en Matem´aticas Facultad de Inform´atica Universidad Complutense de Madrid Madrid, Junio de 2015 Agradecimientos Quisiera agradecer a Luis Javier Garc´ıa Villalba y Ana Lucila Sandoval Orozco, Directores de este Trabajo Fin de Grado, el apoyo brindado. Asimismo, quisiera agradecer la permanente ayuda de Jorge Maestre Vidal. Sin su inestimable ayuda el presente Trabajo Fin de Grado no hubiera sido posible. Finalmente, mi m´as sincero agradecimiento al resto de miembros del Grupo GASS (Grupo de An´alisis, Seguridad y Sistemas), Grupo de Investigaci´on 910623 de la Universidad Complutense de Madrid adscrito al Departamento de Ingenier´ıa del Software e Inteligencia Artificial de la Facultad de Inform´atica de la Universidad Complutense de Madrid, por las facilidades ofrecidas. Abstract To protect our privacy, Tor, a popular anonymity system, forwards traffic through multiple relays. This network has been the subject of numerous attacks trying to disclose user identities, being denial of service attacks one of the most widespread. Not only this attacks have been very popular on Tor, but also on the Internet. In the present work, an anomaly-based detection system is proposed for detecting such attacks. Traffic is analized without concerning user’s privacy and from it some metrics are extracted which enable to model traffic as time series in order to find out anomalies. A particular challange has been testing the tool due to the dificulties of obtaining traffic from denial of service attacks on the Internet as well as on Tor, where no available datasets from the latter implicated the need for generating them. Keywords Anomalies, DDoS, Entropy, Predictive Models, Time Series, Tor. Resumen Para proteger la privacidad, Tor, un sistema an´onimo muy popular, dirige el tr´afico a trav´es de m´utiples relays. Esta red ha sido sujeto de numerosos ataques con la intenci´on de desenmascarar las identidades de los usuarios, siendo los ataques de denegaci´on de servicio unos de los m´as utilizados. No solo este tipo de ataques se han convertido en una amenaza en Tor, adem´as han tenido gran importancia en Internet. En este trabajo, se propone un sistema basado en anomal´ıas para detectar estos ataques. El tr´afico se analiza sin comprometer la privacidad de los usuarios y de ´el se extraen datos que a trav´es de ciertas m´etricas permiten modelizarlo a partir de series temporales para detectar anomal´ıas. Realizar pruebas de la herramienta desarrollada ha supuesto un gran reto debido a las dificultades que supone obtener tr´afico de ataques de denegaci´on de servicio tanto en Internet como en Tor, donde la inexistencia de datasets de dominio p´ublico en esta ´ultima ha supuesto la necesidad de generarlos. Palabras clave Anomal´ıas, DDoS, Entrop´ıa, Modelos Predictivos, Series Temporales. El abajo firmante autoriza a la Universidad Complutense de Madrid (UCM) a difundir y utilizar con fines acad´emicos, no comerciales y mencionando expresamente a su autor el presente Trabajo Fin de Grado: “Sistema de Detecci´on de Ataques DDoS en Tor”, realizado durante el curso acad´emico 2014-2015 bajo la direcci´on de Luis Javier Garc´ıa Villalba y Ana Lucila Sandoval Orozco en el Departamento de Ingenier´ıa del Software e Inteligencia Artificial, y a la Biblioteca de la UCM a depositarlo en el Archivo Institucional E-Prints Complutense con el objeto de incrementar la difusi´on, uso e impacto del trabajo en Internet y garantizar su preservaci´on y acceso a largo plazo. Ignacio Gago Padreny convierte en una de las PETs preferidas a la hora de evadir la censura, y divulgar informaci´on de manera an´onima. Con el crecimiento de su popularidad, Tor ha sido v´ıctima de una mayor cantidad de ciberataques. El objetivo de estas amenazas ha sido romper su privacidad y limitar su disponibilidad. Para lo primero se requiere una importante infraestructura y conocimientos avanzados. Sin embargo, existe una gran cantidad de herramientas de dominio p´ublico capaces de denegar su servicio, lo que hace las convierte en importantes amenazas. En este trabajo se afronta el problema de la seguridad en Tor, haciendo especial hincapi´e en su disponibilidad, y en la lucha contra los ataques de denegaci´on de servicio. Para ayudar a comprender mejor el esfuerzo realizado, cabe destacar que la comunidad investigadora apenas ha participado en esta ´area. Con el fin incentivar futuros esfuerzos, se ha recopilado una gran cantidad de informaci´on relacionada con su infraestructura, y los principales problemas que ha afrontado. Parte de ella pronto estar´a disponible en la web del proyecto Tor[4]. Asimismo se introduce una estrategia de detecci´on de intentos de inutilizaci´on, capaz de operar con ´exito a pesar de las limitaciones que ofrece su entorno de computaci´on. A continuaci´on se detalla una serie de conceptos previos, los objetivos fijados, y la estructura del resto del documento. 1.1. Conceptos previos 1.1.1. Internet Internet es una red de redes que permite la interconexi´on descentralizada de computadoras a trav´es de un conjunto de protocolos denominado TCP/IP. Tuvo sus or´ıgenes en 1969, cuando una agencia del Departamento de Defensa de Estados Unidos comenz´o a buscar alternativas ante una eventual guerra at´omica que pudiera incomunicar a las personas. Internet se construy´o orientada a alcanzar una gran amplitud (cantidad de datos que pueden ser transmitidos en un determinado tiempo) y escalabilidad (propiedad de aumentar la capacidad de trabajo o de tama˜no de un sistema sin comprometer su funcionamiento y calidad). Sin embargo, potenciar estas cualidades ha derivado en importantes problemas de seguridad[5]. Por ejemplo, el protocolo IP fue dise˜nado para permitir que los hosts 2 se conectasen f´acilmente a una red, pasando por alto la verificaci´on de los campos de la cabecera de los datagramas, donde se muestra informaci´on sensible, como las direcciones IP que identifican los extremos de la comunicaci´on. 1.1.2. Seguridad de la informaci´on La seguridad inform´atica es la propiedad que establece que los recursos de los sistemas de informaci´on sean utilizados de la manera que previamente se haya decidido, y que tanto su accesibilidad, como su integridad, solo sean manipulables por entidades acreditadas, dentro de los l´ımites de su autorizaci´on. En consecuencia, se denomina intrusi´on a cualquier acci´on que tenga como finalidad vulnerar la seguridad de un sistema. Si bien es cierto que todos los componentes de un sistema inform´atico est´an expuestos a rupturas en su seguridad, son los datos y la informaci´on los objetos m´as tenidos en cuenta a la hora de desempe˜nar acciones defensivas. A lo largo de los a˜nos se han postulado diferentes modelos de seguridad, siendo la popular tr´ıada CIA (Confidencialidad, Integridad, Disponibilidad) la base de las nuevas aproximaciones, las cuales a menudo incorporan nuevas propiedades. A continuaci´on se describe brevemente cada una de ellas: Confidencialidad. La confidencialidad se define como la cualidad que de un activo, de solo ser accedido por la entidad que posea autorizaci´on para ello. Integridad. La integridad es definida como la propiedad que posee un activo, de no ser modificado por entidades sin autorizaci´on. Disponibilidad. La disponibilidad es definida como la capacidad de un activo, de ser accesible y utilizable por los usuarios o procesos autorizados cuando lo requieran. Tambi´en se refiere a la capacidad de que la informaci´on pueda ser recuperada en el momento que sea necesario. La gran popularidad de este modelo ha llevado a que tradicionalmente, la seguridad de la informaci´on fuera definida como la suma de estas tres propiedades. Sin embargo, diferentes aproximaciones han a˜nadido nuevas caracter´ısticas, ganando concordancia con la evoluci´on de las tecnolog´ıas de la informaci´on. A continuaci´on son descritas dos de las m´as importantes: Autenticaci´on. La autenticaci´on se define como la capacidad de un activo de verificar su autor´ıa y a quien pertenece. 3 No repudio. El no repudio es definido como la propiedad de los procesos de comunicaci´on, de verificar la identidad de sus dos extremos. A pesar de su similitud con la autenticaci´on, tienen una finalidad diferente: si bien la autenticidad demuestra quien es el autor y cu´al es el destinatario de un proceso de comunicaci´on, el no repudio prueba que el autor fue quien envi´o la comunicaci´on (en origen) y que el destinatario fue quien la recibi´o (en destino). Para garantizar la seguridad de la informaci´on, se han propuesto diferentes herramientas. Tomando como eje de clasificaci´on el tipo de acci´on realizada, estas pueden clasificarse como: preventivas, de detecci´on o correctivas. Las primeras act´uan antes de que la intrusi´on, y tienen como finalidad dificultar su desarrollo y reducir su impacto. La detecci´on tiene como finalidad reconocer una amenaza que se est´a produciendo, o que est´a a punto de suceder. Finalmente, la correcci´on tiene por objetivo la mitigaci´on del da˜no causado. 1.1.3. Tecnolog´ıas que mejoran la privacidad Las tecnolog´ıas que mejoran la privacidad (del ingl´es, Privacy-Enhancing Technologies o PETs), son un conjunto de herramientas desarrolladas con la finalidad de garantizar la salvaguarda de la privacidad de los usuarios y entidades que participan en la sociedad de la informaci´on. En la actualidad no existe una definici´on aceptada de las PETs, y tampoco una clasificaci´on. Sin embargo, cuando se hace referencia a PETs, se sobreentiende, entre otras cualidades, las siguientes funcionalidades: reducci´on del riesgo de comprometer la privacidad de los usuarios y su cumplimento legal, minimizaci´on de la informaci´on confidencial que preservan las diferentes organizaciones y la garant´ıa de que los usuarios sean quienes controlen su informaci´on privada. Algunos ejemplos de PETs son las redes de comunicaciones an´onimas (entre las que se encuentra Tor) o las aplicaciones provistas por organismos para que los usuarios gestionen su informaci´on en propiedad de terceras partes. 1.2. Objetivos del trabajo El objetivo principal del trabajo realizado es el desarrollo de un mecanismo de defensa contra ataques de denegaci´on de servicio (DoS y DDoS) dirigidos contra la red an´onima Tor. Para ello deben satisfacerse los siguientes objetivos secundarios: El estudio en profundidad de la infraestructura de Tor y de los problemas de seguridad que conlleva. 4 La investigaci´on de las t´ecnicas de denegaci´on de servicio y sus contramedidas. El desarrollo de estrategias para la extracci´on, y la interpretaci´on de las caracter´ısticas del tr´afico que se dirige hacia ellas. La construcci´on de m´etricas que permitan modelar el tr´afico que fluye a trav´es de Tor. La elaboraci´on de modelos predictivos capaces de desenmascarar situaciones an´omalas, en base a dicha informaci´on. La decisi´on de qu´e anomal´ıas se corresponden con amenazas reales. La elaboraci´on de una metodolog´ıa de evaluaci´on acorde a las caracter´ısticas del sistema desarrollado. La verificaci´on de la eficiencia de la propuesta. La l´ınea de estudio e investigaci´on inicial requerida para este trabajo (ataques de denegaci´on de servicio, el funcionamiento de la red Tor y el modelado de datos basado en m´etricas) ha sido realizado junto a Jos´e Mar´ıa Aguirre Mart´ın, debido a la complejidad de dicho trabajo. A partir de este punto, en el presente trabajo se opt´o por elaborar un modelo predictivo preciso con una baja tasa de falsos positivos debido a la gran cantidad de tr´afico a analizar, mientras que Jos´e Mar´ıa Aguirre Mart´ın dio prioridad a la detecci´on inmediata de los ataques de denegaci´on de servicio, desarrollando un modelo predictivo r´apido y con no demasiado coste computacional. 1.3. Estructura del documento Adem´as de la presente introducci´on, este documento se estructura de la siguiente manera: En el cap´ıtulo 2 se discuten los aspectos m´as relevantes de los ataques de denegaci´on de servicio. En el cap´ıtulo 3 se describe la infraestructura Tor, haciendo especial hincapi´e en sus problemas de seguridad. En el cap´ıtulo 4 se explican las m´etricas basadas en la entrop´ıa y los modelos predictivos que fueron consideradas a lo largo del desarrollo de la propuesta. 5 En el cap´ıtulo 5 se introduce el sistema de detecci´on de ataques de denegaci´on de servicio en la red Tor. En el cap´ıtulo 6 se detallan las caracter´ısticas de la experimentaci´on realizada y su metodolog´ıa de evaluaci´on. En el cap´ıtulo 7 se discuten los resultados obtenidos. Por ´ultimo, en el cap´ıtulo 8 se presentan las conclusiones y propuestas de trabajo futuro. 6 Cap´ıtulo 2 Denegaci´on de servicio Los ataques de denegaci´on de servicio se han convertido es una constante amenaza para la sociedad de la informaci´on. Seg´un ha publicado recientemente la Agencia Europea de Seguridad de las Redes y de la Informaci´on (ENISA), entre los a˜nos 2013 y 2014 se observ´o su incremento en un 70 %[6] . Adem´as han advertido de la actual tendencia a la ejecuci´on de este tipo de intrusiones, para alcanzar diferentes objetivos, de aquellos para lo que fueron desarrollados. Entre ellos destaca el encubrimiento de otro tipo de acciones delictivas, tales como transferencias de dinero fraudulentas, o desanonimato[7]. En este cap´ıtulo se describen las principales caracter´ısticas de esta amenaza, y se discuten los principales motivos que han impulsado su evoluci´on y crecimiento. A continuaci´on se presenta su clasificaci´on, y los esfuerzos realizados por la comunidad investigadora para su mitigaci´on. Finalmente se introducen las caracter´ısticas de las metodolog´ıas de evaluaci´on de los sistemas defensivos. 2.1. Ataques de denegaci´on de servicio Los ataque de denegaci´on de servicio (del ingl´es Denial of Service attacks) o DoS, tienen como objetivo comprometer la disponibilidad de un activo o servicio mediante el agotamiento de sus recursos de c´omputo. Cuando son originados desde distintas fuentes reciben el nombre de ataques de denegaci´on de servicio distribuidos (del ingl´es Distributed Denial of Service attacks) o DDoS. Debido a su mayor capacidad de causar da˜no, estos ´ultimos son los m´as frecuentes en la actualidad, y a menudo requieren del uso de redes de ordenadores zombis o botnets. Habitualmente, tanto los ataques DoS como los DDoS alcanzan sus objetivos mediante el env´ıo de grandes cantidades de informaci´on, la cuales trata de ocupar la mayor parte del ancho de 7 banda de la red en la que se encuentra la v´ıctima. Esto limita considerablemente el acceso a sus recursos. Su modo de actuaci´on generalmente comprende dos tipos de acciones. En primer lugar, el atacante puede inyectar paquetes de datos capaces de comprometer alguna vulnerabilidad de la v´ıctima. Este es el caso de la intrusi´on popularmente conocida como ”ping de la muerte”. El ”ping de la muerte” consiste en el env´ıo de datagramas ICMP muy grandes, pero fragmentados en otros m´as peque˜nos, capaces de colapsar la capacidad de procesamiento de la v´ıctima. Por otro lado, los ataques DDoS pueden tratar de inundar a la v´ıctima mediante el env´ıo de una gran cantidad de datos. Esta ´ultima acci´on requiere conocimientos menos avanzados para su ejecuci´on, y su ´exito a menudo depende de la cantidad de nodos infectados desde la que se ha originado. En [6] se describen en detalle ambos casos y se muestran otros muchos ejemplos. A continuaci´on se discuten las principales motivaciones, aplicaciones de estas amenazas y su clasificaci´on. 2.1.1. Crecimiento y motivaciones El crecimiento de los ataques de denegaci´on de servicio es atribuido a diferentes motivos. El primero de ellos es su relaci´on con las botnets; estas son cada vez m´as grandes y dif´ıciles de detectar, lo que incrementa el n´umero de posibles focos de intrusi´on. Otra causa es el aumento de la cantidad de vulnerabilidades que permiten explotar elementos intermedios de red como reflectantes, y en mucho caso amplificadores, de los vectores de ataque. Los protocolos con m´as tendencia a ser comprometidos son DNS, NTP y SNMP. Por otro lado, seg´un la Oficina Europea de Polic´ıa (Europol)[8], la DDoS cada vez se relacionan m´as con el crimen organizado; en consecuencia, cada vez es m´as f´acil su contrataci´on para encubrir campa˜nas de propagaci´on de malware ospam desde el mercado negro. Esto ha llevado a la aparici´on de nuevas y sofisticadas estrategias para dificultar su detecci´on, y al desarrollo de herramientas sencillas, que permiten su configuraci´on y ejecuci´on a pesar de no tener elevados conocimientos tecnol´ogicos. Tal y como se anuncia en [6], los autores de estas intrusiones son incentivados por diferentes causas. A continuaci´on se enuncian las m´as repetidas: Econom´ıa: muchos individuos o empresas contratan este tipo de ataques con el objetivo de incrementar su poder adquisitivo, o reducir el de la competencia. 8 Venganza: los ataques DDoS son frecuentes entre ex-empleados frustrados que tienen el objetivo de colapsar la empresa en la que trabajan. Creencias: existen grupos de individuos que llevan a cabo ataques bas´andose en sus creencias religiosas, sociales o pol´ıticas. Experimentaci´on: gran cantidad de individuos interesados en aprender sobre este tipo de ataques, experimentan con ellos y los ejecutan para demostrar o mejorar sus habilidades. Ciberguerra: el cibercrimen es cada vez m´as frecuente. Muchas organizaciones aprovechan los ataques DDoS para bloquear departamentos ejecutivos, agencias civiles, organizaciones financieras, o infraestructuras de sus rivales. 2.1.2. Clasificaci´on A continuaci´on se muestra una clasificaci´on de los ataques de denegaci´on de servicio, que tiene por eje, la caracter´ıstica que ensalza su capacidad de causar da˜no. N´otese que durante su elaboraci´on ´unicamente han sido consideradas las acciones que por similitud, o por impacto, pueden llegar a tener alg´un tipo de relaci´on con la red Tor. El resto quedan fuera del alcance del trabajo realizado. En base a este criterio se han establecido tres conjuntos de ataques: aquellos que tienen su potencial en su capacidad de inundaci´on, reflexi´on o amplificaci´on. La taxonom´ıa realizada no es disjunta. De este modo, el ´exito de un ataque puede depender tanto de su capacidad de inundaci´on, como de amplificaci´on, siendo miembro de ambos grupos. A continuaci´on se describe cada uno de ellos: Denegaci´on de servicio basada en inundaci´on La denegaci´on de servicio basada en inundaci´on trata de alcanzar sus objetivos por medio de la inyecci´on de grandes vol´umenes de tr´afico. Dada su sencillez de ejecuci´on, y la magnitud de su impacto, ha sido uno de los mayores temas de inter´es en la bibliograf´ıa. En la actualidad existen diferentes estrategias para conseguir una inundaci´on eficaz, las cuales han sido diferenciadas en [9] como inundaciones de tasa alta y baja. Las primeras consisten en la emisi´on de grandes cantidades de tr´afico de manera constante y uniforme. Se caracterizan por ser especialmente ruidosas, y por alcanzar buenos resultados r´apidamente. Por otro lado, la inundaci´on de tasa baja explota vulnerabilidades de los protocolos de red. Esto permite que el tr´afico inyectado adopte patrones peri´odicos, que incrementan o decrementan su volumen 9 con el paso del tiempo. Es mucho menos ruidosa, pero su ejecuci´on es m´as compleja. Cuando los ataques de inundaci´on act´uan en la capa de red, aprovechan funcionalidades propias de sus protocolos, siendo TCP, UDP, ICMP y DNS los m´as explotados. En [10] son descritas algunas de sus variantes, siendo la m´as popular de ellas la denominada inundaci´on SYN. Esta explota el protocolo TCP, y su negociaci´on del inicio de sesi´on por medio del saludo a tres v´ıas o Handshake. Para ello el atacante env´ıa paquetes SYN con direcciones IP inexistentes o en desuso y cuando el servidor ubica la petici´on en la memoria, esperar´a a la confirmaci´on del cliente. Mientras espera, dicha petici´on seguir´a almacenada en la pila de la memoria. Como estas direcciones IP no son v´alidas, el servidor nunca recibir´a la confirmaci´on. De este modo, el ataque explota el hecho de que cada una de las conexiones ”medio abiertas” ocupa un espacio de pila en la memoria, y que se mantendr´an en ella hasta que expire tras vencer un cierto intervalo de tiempo. Con la pila llena, el servidor no puede tramitar nuevas peticiones, denegando el acceso a nuevos usuarios. Por otro lado, la capa de aplicaci´on ofrece nuevas posibilidades a los atacantes. En [11] se trata este tema en mayor profundidad, y se distinguen tres conjuntos de amenazas: las que se basan en inicios de sesi´on, env´ıos de petici´on y en respuestas lenta del servidor. De manera similar a la inundaci´on SYN, el primer grupo trata de colapsar las colas que permiten el acceso de usuarios a los servicios web. Por otro lado, la inundaci´on por peticiones consiste en el env´ıo masivo de solicitudes (normalmente GET/POST) que el servidor deber´a atender. Finalmente, los ataques de respuesta lenta se basan en intentar mantener las conexiones HTTP el mayor tiempo posible. Para esto, las peticiones son realizadas mediante el env´ıo de datos lentamente, o bien procesando las respuestas con lentitud. Denegaci´on de servicio basada en reflexi´on La inundaci´on basada en reflexi´on surge de la necesidad de los atacantes, de ocultar el origen de la intrusi´on. A los ataques que integran este grupo se los denomina ataques de denegaci´on de servicio distribuida y reflejada (del ingl´es Distributed Reflection Denial of Service) o DRDoS, y tienen en com´un que tratan de aprovechan vulnerabilidades en terceras partes para forzarlas a emitir el tr´afico malicioso. Un ejemplo de ataque de reflexi´on se encuentra en los conocidos ataques smurf. Los ataques smurf son una variante de la inundaci´on SYN que aprovecha elementos intermedios de red para enmascarar su origen. En su ejecuci´on, las direcciones de 10 origen de los paquetes son reemplazadas por la de la v´ıctima. De esta manera, todas las m´aquinas intermedias responder´an a ella tras recibir su solicitud. Otro ejemplo es la amplificaci´on mediante la explotaci´on del protocolo de voz sobre IP o VoIP, y que funciona de la siguiente manera [12]: el protocolo VoIP opera bajo el protocolo SIP. Los servidores SIP necesitan acceso a Internet para aceptar las llamadas, y estas son tramitadas. En ella Alice quiere hablar con Bob. Para ello env´ıa un paquete al proxy SIP de Alice, que es quien se encarga de solicitar la direcci´on del proxy SIP de Bob. Por lo tanto el proxy SIP de Alice env´ıa una invitaci´on al proxy SIP de Bob. Cuando el proxy de Bob la recibe, la traslada a la direcci´on de registro de Bob. Cuando Bob acepta la llamada empieza la conversaci´on. El ataque de denegaci´on consiste en el env´ıo de gran cantidad de invitaciones SIP con direcciones IP falsas, las cuales consumen una gran cantidad de recursos del servidor. Esto es debido a que entre sus tareas est´a la de distinguir las direcciones IP verdaderas de las falsas. Cuando el atacante inyecta tr´afico, es posible que agote su capacidad de c´omputo. Asimismo incrementa la carga de trabajo de los mecanismos encargados de gestionar las llamadas que recibe la v´ıctima. Denegaci´on de servicio basada en amplificaci´on La inundaci´on basada en amplificaci´on consiste en realizar peticiones a terceras partes, con el objetivo de que las respuestas sean de mayor tama˜no que el de las propias peticiones. Dichas peticiones llevan falsificada su direcci´on de retorno, de manera que las respuestas, en lugar de llegar al atacante llegan a la v´ıctima. Se trata de una variante de los ataques basados en reflexi´on, pero con diferente motivaci´on y consecuencias. Uno de los elementos de red m´as aprovechados para lograr la amplificaci´on son los servidores DNS. A su explotaci´on con este fin se la denomina amplificaci´on DNS. En [13] se discute este problema en detalle, y se se˜nala como principal causante al hecho de que las consultas realizadas al servidor se realizan con datagramas que a menudo contienen menos informaci´on que las respuestas. En ocasiones son los propios atacantes quienes han insertado campos especialmente grandes en la informaci´on que almacena el servidor sobre dominios, que previamente, han sido comprometidos. 11 CMD. Indica el comando que especifica el significado de la c´elula. Atendiendo al tipo de comando (valor de CMD). Se consideran dos tipos de c´elulas: c´elulas de control y c´elulas de transmisi´on. Dada su relevancia, a continuaci´on se explican en detalle las caracter´ısticas de las c´elulas de control y las c´elulas de transmisi´on. C´elulas de control. Las c´elulas de control (en ingl´es control cells) son siempre interpretadas por el nodo que las recibe y permiten controlar la comunicaci´on. Permiten la ejecuci´on de los siguientes comandos: •CREATE: creaci´on de un circuito. •CREATED: indica que se ha creado un circuito. •DESTROY: destrucci´on de un circuito. •CREATE FAST: creaci´on de un circuito reaprovechando operaciones de clave p´ublica existentes. •CREATED FAST: indica que se ha creado un circuito que se creo mediante el comando CREATE FAST. C´elulas de transmisi´on. Las c´elulas de transmisi´on son usadas en la comunicaci´on entre el OP y cualquiera de los OR del circuito; normalmente el nodo de salida (exit node). Este tipo de c´elulas presentan campos que forman parte de la carga ´util (payload) de la c´elula. Son los siguientes: •Relay command: indica el funcionamiento de la celda. Contiene los siguientes tres tipos: ◦forward: son enviados desde el OP origen del circuito. ◦backward: son enviados desde los OR del circuito al OP origen. ◦both: pueden funcionar como forward o como backward. •StreamID: es el identificador de flujo. De esta forma se permite que varios flujos puedan ser multiplexados en un solo circuito. Las c´elulas que afectan al circuito entero en lugar de a un streamID particular tienen este campo a 0 y son consideradas de control. •Digest: permite el control de integridad extremo a extremo (del ingl´es end-to-end integrity checking). Este campo es utilizado para determinar exactamente a que nodo del circuito va dirigida una c´elula. •Len: indica el n´umero de bytes del campo DATA que contiene carga ´util real. El resto del campo DATA estar´a rellenado con ceros. 18 •CMD: identifica el subcomando de la c´elula de transmisi´on. Algunos de estos subcomandos ser´ıan: ◦Relay begin: para abrir un nuevo flujo o stream. ◦Relay data: para enviar datos a trav´es del flujo. ◦Relay end: para cerrar un flujo. ◦Relay connected: para notificar al OP de que relay begin concluy´o con ´exito. La principal diferencia entre las c´elulas de control y las de transmisi´on, es que las primeras pueden ser le´ıdas por cualquiera, mientras que las segundas solo por un nodo concreto. Por ejemplo cuando se env´ıa una c´elula DESTROY, el OP la env´ıa al primer OR, este la recibe, cierra todos los flujos y la transmite al siguiente OR. As´ı hasta llegar al final. En las c´elulas relay el OP asigna el digest y despu´es cifra la c´elula con cada una de las claves de los nodos OR. Como el digest est´a cifrado con distintos valores que han ido encapsul´andose paso a paso, solo el nodo objetivo podr´a descifrar su contenido, y por tanto, ejecutar la funci´on que indique. Por otro lado, cuando un nodo OR recibe una c´elula debe verificar la validez de su c´odigo digest. De no ser as´ı, ser´a enviada al siguiente nodo del circuito. 3.6. Amenazas contra la red Tor El crecimiento de la popularidad de Tor ha acarreado la aparici´on de una nueva generaci´on de amenazas, capaces de explotar con mayor precisi´on algunas de sus vulnerabilidades. Entre ellas destacan cuatro tipos de ataques: raptor,sniper,relay y la adaptaci´on de los m´etodos de denegaci´on de servicio convencionales. 3.6.1. Ataque Raptor El objetivo de los ataques Raptor es desanonimizar Tor[34]. Para este fin, hace uso de aspectos din´amicos de los protocolos de Internet, por ejemplo del protocolo BGP. El ataque Raptor est´a compuesto de tres ataques individuales que se unen para conseguir un efecto mayor. En la primera etapa, se aprovecha la asimetr´ıa del enrutamiento de Internet, es decir, se toma ventaja del hecho de que el camino BGP de un elemento que env´ıa informaci´on y de otro que la recibe, puede ser diferente que el camino BGP del 19 elemento que recibe al elemento que env´ıa. Esto permite al atacante observar al menos una direcci´on de comunicaci´on y realizar un an´alisis de tr´afico. Este primer ataque resulta efectivo en los siguientes casos: Se dispone informaci´on de tr´afico de las conexiones con sentido cliente-nodo de entrada y con sentido nodo de salida-servidor. Se dispone informaci´on de tr´afico que fluye con sentido cliente-nodo de entrada y con sentido servidor-nodo de salida. Se dispone de informaci´on de tr´afico con sentido nodo de entrada-cliente y con sentido nodo de salida-servidor. Se dispone de informaci´on sobre el tr´afico con sentido nodo de entrada-cliente y con sentido servidor-nodo de salida. En el segundo ataque, Raptor explota el hecho de que los caminos BGP cambian con el tiempo debido a fallos que se producen en los encaminadores. Estos cambios permiten a los atacantes observar tr´afico adicional, permitiendo de esta manera desanonimizar a m´as usuarios de la red. La tercera y ´ultima parte se basa en hacer uso de lo que se conoce como BGP hijacks, los cuales consisten en descubrir usuarios que hacen uso de determinados nodos de la red que est´an comprometidos. 3.6.2. Ataque Sniper El ataque sniper es un tipo de DDoS que tiene como objetivo deshabilitar nodos de Tor arbitrarios[7]. Su ´exito depende de dos aspectos clave de su funcionamiento. El primero de ellos es que una vez creado un circuito, sus nodos extremo (cliente y nodo de salida) controlan el tr´afico mediante el uso de un contador de paquetes. Este es inicializado a 1000 y va disminuyendo a medida que se introducen c´elulas al circuito. An´alogamente, otro contador es inicializado a 1000, pero esta vez su valor decrecer´a a medida que se eliminen c´elulas. Cuando este contador llega a cero se vuelve a inicializar todo, de manera que nunca habr´a m´as de 1000 c´elulas en un circuito. La otra asunci´on es que cuando un nodo destino deja de leer paquetes, el siguiente nodo del circuito almacena dichos paquetes. El ataque sniper requiere disponer de dos nodos extremos comprometidos (un nodo cliente y otro de de salida). Procede de la siguiente manera: 20 1. El cliente comprometido crea un circuito delimitado por los nodos comprometidos. Dado que ambos son controlados por el atacante, puede prescindir de las limitaciones referentes a su m´aximo n´umero de paquetes. Esto permitir´a al nodo de salida generar gran cantidad de paquetes en forma de c´elulas. 2. Entonces el nodo cliente recibe la orden de dejar de leer paquetes. Esto hace que el siguiente nodo conserve una gran cantidad de paquetes sin procesar, quedando inhabilitado hasta que el sistema operativo cierre el proceso. Esto dificultar´a el acceso de nuevos usuarios. 3.6.3. Ataque Replay El ataque replay parte de la situaci´on en que los nodos entrada y de salida est´an comprometidos. Su objetivo es enlazar la comunicaci´on entre el cliente y el nodo de entrada comprometido, con la comunicaci´on entre el nodo de salida comprometido y el servidor. De esta manera se puede conocer qu´e cliente est´a accediendo a qu´e servidor[35]. Para llevar a cabo su objetivo, el encaminador de entrada identifica una c´elula del stream y la duplica (de ah´ı el nombre del ataque). Una vez duplicada, dicha c´elula avanza por el circuito y llega al nodo de salida. Al recibir dicha c´elula, genera un error debido al duplicado. El error se produce debido a que cuando la c´elula es duplicada en el nodo de entrada, su descifrado en el segundo y tercer OR falla. Esto se debe a que el cifrado se realiza por medio de una implementaci´on del AES, la cual se basa en un contador, el cual resulta afectado al duplicarse la c´elula. El cifrado de la c´elula original aumenta en uno el contador AES. El resto de nodos descifran correctamente la c´elula y aumentan tambi´en el contador. Cuando el nodo de entrada cifra la c´elula duplicada, hace que el descifrado realizado en los siguientes nodos produzca una desincronizaci´on entre el cliente y los nodos. De esta manera ser´a posible asegurar que los nodos comprometidos est´an en el mismo circuito y se desenmascarar´a al usuario que accede a cada servicio. 3.6.4. Denegaci´on de servicio Este ataque tiene el objetivo de controlar el nodo de entrada y el nodo de salida de un circuito con el fin de conocer qu´e cliente accede a qu´e servidor. En este contexto, se denominan circuitos comprometidos a aquellos que al menos tienen un extremo comprometido, y circuitos controlados a aquellos en los que ambos est´an 21 comprometidos. Los servidores directorios de Tor asignan a cada nodo una bandera (’Guard’ o ’Exit’). En la creaci´on de circuitos, solo los nodos con estas banderas desempe˜nar´an estas labores, siendo el resto, nodos intermedios. Los nodos de entrada son elegidos de una lista de 3 posibles candidatos. De este modo, cada vez que un cliente crea un circuito, crea una lista de 3 nodos de entrada, y para su circuito elige uno de ellos. Si hay menos de 3 nodos en dicha lista, se a˜naden nuevos nodos. Un nodo es eliminado de ella solo si no se ha podido conectar a ´el durante un determinado periodo de tiempo. De esta manera la lista contendr´a los nodos m´as seguros, reduciendo la probabilidad de que el cliente elija nodos comprometidos. El ataque de denegaci´on de servicio se comporta de la siguiente manera: si el atacante controla solamente uno de los nodos de un circuito, utiliza un ataque DDoS para destruirlo. A continuaci´on se reconstruir´a y tendr´a mayor probabilidad de controlar al menos dos nodos del nuevo circuito. Sin embargo romper todos los circuitos que el atacante no controla no es buena idea, pues determinados nodos podr´ıan quedar marcados como ”sospechosos”. En ocasiones el atacante destruir´a tambi´en circuitos comprometidos, pero no controlados, con el objetivo de pasar desapercibido[36]. 22 Cap´ıtulo 4 Entrop´ıa y modelos predictivos en series temporales En este cap´ıtulo se describen los aspectos m´as representativos de dos herramientas cuyo entendimiento, resulta imprescindible en la comprensi´on del sistema propuesto. Estas son la entrop´ıa y el an´alisis predictivo de series temporales. La primera cumple un papel esencial a la hora de extraer y modelar las caracter´ısticas del tr´afico que fluye a trav´es de Tor. Por otro lado, la elaboraci´on de pron´osticos sobre series temporales facilita el reconocimiento de comportamientos inesperados en base a las observaciones realizadas ya que detr´as de la mayor parte de estas anomal´ıas, se esconden intentos de ataques de denegaci´on de servicio. 4.1. Entrop´ıa La entrop´ıa es un concepto usado originalmente en termodin´amica, mec´anica estad´ıstica y luego en teor´ıa de la informaci´on. Se concibe como una medida del desorden o una medida de la incertidumbre, cuya informaci´on tiene que ver con cualquier proceso que permite acotar, reducir o eliminar la incertidumbre. Un ejemplo ilustrativo para entender el uso de la entrop´ıa es el siguiente: ”Cuando un vecino nos dice en el ascensor que las calles est´an mojadas, y sabemos que acaba de llover, estamos recibiendo informaci´on poco relevante, porque es lo habitual. Sin embargo, si el mismo vecino nos dice que las calles est´an mojadas, y sabemos que no ha llovido, aporta mucha m´as informaci´on (porque es de esperar que no rieguen las calles todos los d´ıas).” En el ejemplo se observa claramente que el hecho de que suceda algo relevante o 23 no, depende de las observaciones previas. Esta es la diferencia que trata de expresar la entrop´ıa. A continuaci´on se describen los or´ıgenes de este concepto, su aplicaci´on en la teor´ıa de la informaci´on y la entrop´ıa de R`enyi. 4.1.1. Origen Rudolf Clausius plante´o por primera vez el concepto de entrop´ıa en el a˜no 1865. Para ello se bas´o en el estudio de procesos termodin´amicos curvil´ıneos reversibles, postulando la ecuaci´on: dS =δQ T donde δQ es la cantidad de calor absorbida en un proceso termodin´amico concreto, y Tes la temperatura absoluta. Esto puede interpretarse como la cantidad de calor intercambiada entre el sistema y el medio dependiente de su temperatura absoluta, que se produce cuanto en un proceso termodin´amico reversible e isot´ermico, se produce una transici´on de estados. El concepto de entrop´ıa termodin´amica result´o de inspiraci´on en ciertas ´areas de la estad´ıstica, lo que dio pie a la mec´anica estad´ıstica. Una de las teor´ıas termodin´amicas estad´ısticas (concretamente, la de Maxwell-Boltzmann 1890-1900), define la relaci´on entre ambos conceptos de la siguiente manera: S=klog Ω donde Ses la entrop´ıa, kla constante de Boltzmann y Ω el n´umero de microestados posibles para el sistema. Es importante destacar que esta ecuaci´on ofrece por primera vez una definici´on absoluta de la entrop´ıa en un sistema, situaci´on que era impensable ´unicamente bajo el contexto de la termodin´amica. Poco a poco la entrop´ıa como magnitud f´ısica, fue ganando el respaldo de la comunidad investigadora. Este proceso dio pie a diferentes interpretaciones, que con frecuencia entraban en conflicto. En la actualidad, y desde un punto de vista estad´ıstico, la entrop´ıa asociada a la variable aleatoria Xes un n´umero que depende directamente de la distribuci´on de probabilidad de X, e indica c´omo es de predictible el resultado del proceso sujeto a incertidumbre o experimento. Esto tambi´en puede interpretarse de manera matem´atica, de tal manera que cuanta m´as plana sea la distribuci´on de probabilidad, m´as dif´ıcil ser´a acertar cu´al de las posibilidades se dar´a en cada instancia. 24 N´otese que se considera distribuci´on plana a aquella cuyas probabilidades de Xson similares. Por lo tanto, es poco plana cuando algunos valores de Xson mucho m´as probables que otros (se dice que la funci´on es m´as puntiaguda en los valores m´as probables). En una distribuci´on de probabilidad plana (con alta entrop´ıa) es dif´ıcil poder predecir cu´al es el pr´oximo valor de Xque va a presentarse, ya que todos los valores de Xson igualmente probables. 4.1.2. Entrop´ıa de la informaci´on La Entrop´ıa de la informaci´on, tambi´en conocida como entrop´ıa de Shannon fue desarrollada por C.E. Shannon en el a˜no 1948[37]. Su objetivo es la medici´on del grado de incertidumbre de una fuente de informaci´on. Dado un conjunto de datos X, y un conjunto finito de s´ımbolos x1. . . xncuyas probabilidades de aparici´on son p1. . . pn, la entrop´ıa de la informaci´on es expresada de la siguiente manera: H(X) = X i p(xi) log2p(xi) N´otese que se aplica el logaritmo en base 2 bajo la asunci´on de que la informaci´on a tratar es representada mediante c´odigo binario. Al cambiar el sistema de codificaci´on, la base del logaritmo debe coincidir con la de la nueva representaci´on. El valor de la entrop´ıa de la informaci´on es mayor cuando Xse asocia a una distribuci´on uniforme. Su valor es 0 cuando una probabilidad pies 1, y el resto 0 (no hay incertidumbre). Para el resto de posibles distribuciones su valor se comprende entre 0 y log2n, siendo este ´ultimo el m´aximo alcanzable. La entrop´ıa de la informaci´on ha sido frecuentemente aplicada en el ´area de la detecci´on de ataques de denegaci´on de servicio, siendo muy frecuente en la bibliograf´ıa. En [21] se demuestra que es una de las m´etricas menos dependientes de las caracter´ısticas de la red, lo que hace que su uso sea especialmente recomendable para tratar el problema de la denegaci´on de servicio. Sin embargo tambi´en advierten de que su popularizaci´on puede llevar a la aparici´on de ataques de ”suplantaci´on de entrop´ıa”, basados en la inyecci´on de tr´afico con el fin de que sus variaciones pasen desapercibidas. 25 4.1.3. Entrop´ıa de R`enyi Seg´un la entrop´ıa de Shannon, el c´alculo de su entrop´ıa espera la obtenci´on de valores m´as altos cuando la variable de informaci´on es m´as alta. An´alogamente, existe una tendencia a producir valores m´as bajos cuando dicha variable es m´as peque˜na. Para cuantificar la aleatoriedad del sistema, A. R`enyi propuso una m´etrica para la entrop´ıa de orden αcomo generalizaci´on de la entrop´ıa de la informaci´on[38]. Dada la distribuci´on de probabilidades p1. . . pn, la entrop´ıa de R`enyi es definida como: Hα(X) = 1 1−αlog2( n X i=1 pα i) donde α∈[0,1). Al igual que en la entrop´ıa de Shannon, el m´aximo valor de se obtiene cuando todas las probabilidades pipresentan el mismo valor. Las variaciones del orden αllevan a los diferentes casos particulares. Por ejemplo, cuando α= 1 se considera la entrop´ıa de Shannon. El caso α= 2 lleva a la entrop´ıa cuadr´atica de R`enyi o el caso α=∞a la entrop´ıa m´ınima. La entrop´ıa de R`enyi fue aplicada en [22] para evaluar la eficacia de diferentes detectores de ataques de denegaci´on de servicio con m´etricas basadas en distintas entrop´ıas. Su estudio concluye en que los casos de orden elevado acarrean un nivel de restricci´on m´as alto. Esto se traduce en una mejor precisi´on reconociendo ataques, pero conlleva mayores tasas de falsos positivos. 4.2. Predicci´on en series temporales Una serie temporal es una secuencia de datos, observaciones o valores, medidos en determinados momentos y ordenados cronol´ogicamente. Los datos pueden estar espaciados a intervalos iguales (como la temperatura en un observatorio meteorol´ogico en d´ıas sucesivos al mediod´ıa) o desiguales (como el peso de una persona en sucesivas mediciones en el consultorio m´edico, la farmacia, etc.). Para el an´alisis de las series temporales se usan m´etodos que ayudan a interpretarlas y que permiten extraer informaci´on representativa sobre las relaciones subyacentes entre los datos de la serie o de diversas series y que permiten en diferente medida y con distinta confianza extrapolar o interpolar los datos y as´ı predecir el comportamiento de la serie en momentos no observados; sean en el futuro (extrapolaci´on pron´ostica), en el pasado (extrapolaci´on retr´ograda) o en momentos intermedios (interpolaci´on). Estos m´etodos se basan en encontrar el proceso estoc´astico que origin´o dicha serie temporal. Formalmente, un proceso estoc´astico es una aplicaci´on tal que: 26 X: Ω ×T−→ S (ω, t)−→ X(ω, t) El an´alisis cl´asico de las series temporales se basa en la suposici´on de que los valores que toma la variable de observaci´on es la consecuencia de cuatro componentes, cuya actuaci´on conjunta da como resultado los valores medidos. A continuaci´on se describen dichos componentes: Tendencia. La tendencia indica la marcha general y persistente del fen´omeno observado. De este modo refleja su evoluci´on a largo plazo. Variaci´on estacional. La variaci´on estacional es el movimiento peri´odico de corto plazo. Se trata de una componente causal debida a la influencia de ciertos fen´omenos que se repiten de manera peri´odica, y que recoge las oscilaciones que se producen en esos per´ıodos de repetici´on. Variaci´on c´ıclica. La variaci´on c´ıclica muestra patrones que se dan en relaci´on a la tendencia. Ruido. El ruido, de car´acter err´atico, tambi´en denominada residuo, no muestra ninguna regularidad y es impredecible, debido a fen´omenos de car´acter ocasional. Muchos m´etodos de predicci´on se basan en modelizar todos los componentes mostrando que el ´unico componente que queda sin explicar es justamente ruido. Tomando como eje la relaci´on entre sus componentes, las series temporales habitualmente se clasifican en aditivas, multiplicativas o mixtas. A continuaci´on se describe cada uno de estos grupos: Aditivas. El conjunto de series aditivas re´une aquellas que se componen sumando la tendencia Tt, estacionalidad Et, variaci´on c´ıclica Cty ruido Et. Se expresan de la siguiente manera: Xt=Tt+Et+Ct+Et Multiplicativas. Las series multiplicativas son aquellas compuestas por el producto de la tendencia Tt, estacionalidad Et, variaci´on c´ıclica Cty ruido Et. Se expresan de la siguiente manera: Xt=Tt·Et·Ct· Et 27 5.1. Arquitectura La arquitectura de la propuesta est´a representada en 5.1. En ella destacan tres bloques de procesamiento de informaci´on: monitorizaci´on, modelado y an´alisis. Figura 5.1: Arquitectura del sistema de detecci´on de DDoS en Tor En la etapa de monitorizaci´on se observa el tr´afico que fluye a trav´es del sensor. Asumiendo que ser´a desplegado en nodos OR, el tr´afico de inter´es es el entrante y el saliente. El proceso de modelado es llevado a cabo en tres pasos: en primer lugar, se extraen las caracter´ısticas m´as importantes. Como se mostrar´a en la siguiente secci´on, este es un punto especialmente sensible, dado el alto grado de restricci´on que ofrece Tor. A partir de dichas caracter´ısticas es posible la construcci´on de m´etricas, las cuales son alineadas en el tiempo formando series temporales. Al concluir esta etapa, las series temporales modelan las caracter´ısticas del tr´afico monitorizado en los ´ultimos periodos de observaci´on. La detecci´on de ataques se basa en la identificaci´on de anomal´ıas en las series temporales construidas a partir de las m´etricas. Con este fin, la etapa de an´alisis construye modelos predictivos capaces de pronosticar el valor que alcanzar´an las m´etricas en futuras observaciones. Cuando se produce error en alguna predicci´on, se emite una alerta. S´olo entonces el operador podr´a iniciar las acciones de mitigaci´on correspondientes. 34 5.2. Modelado del tr´afico El modelado del tr´afico se realiza en tres etapas: extracci´on de la informaci´on, m´etrica y series temporales. A continuaci´on se describe cada una de ellas. 5.2.1. Extracci´on de la informaci´on La mayor parte de las propuestas de la bibliograf´ıa que comparten el objetivo de reconocer ataques DDoS basan sus m´etodos de an´alisis en el estudio de las caracter´ısticas de las conexiones observadas. Se trata de una metodolog´ıa exportada de otras ´areas de la detecci´on de intrusiones, centrada en el estudio de flujos de informaci´on, tambi´en conocidos como Flows, y cuyo uso fue estandarizado por el IETF en el protocolo IP, adquiriendo el nombre flujos de tr´afico IP o IP Flows. En [40] se profundiza en su aplicaci´on en otras ´areas de la seguridad de la informaci´on. Dados los buenos resultados obtenidos en trabajos previos, la informaci´on extra´ıda en esta aproximaci´on trata de adaptar el concepto de IP Flow a las limitaciones de la red Tor. Los IP Flows est´an construidos por una direcci´on IP origen, una direcci´on destino, y el n´umero de datagramas que durante un intervalo de tiempo de observaci´on, han sido enviados entre ellos. Pero las caracter´ısticas que hacen de Tor una red an´onima eficaz, impiden la visualizaci´on de estos valores. En su lugar, en este trabajo se propone por primera vez el concepto de Flow sobre entorno Tor, a lo que se ha denominado Tor Flow. Los Tor Flows son calculados en base a la conexi´on TLS y al circid del circuito al que pertenece cada c´elula monitorizada. Esto es debido a que todo nodo OR establece una conexi´on TLS con los dem´as nodos de la red Tor. Para cada conexi´on TLS, el circid de la c´elula entrante determina de qu´e circuito llega dicha c´elula. De esta manera, a pesar de que los Tor Flows no aportan tanta informaci´on como los IP Flows, s´ı que permiten distinguir el origen del tr´afico, y si ´este sigue un mismo circuito en com´un, a pesar de que no se conozcan sus siguientes saltos en el circuito. N´otese que el uso de Tor Flows no pone en riesgo la privacidad ofrecida por la red, ya que en ning´un momento se facilita el desenmascaramiento de ninguno de los extremos finales. Formalmente, sea Tel conjunto de los identificadores de las conexiones TLS y sea Cel conjunto de los circid en un momento dado. Un Tor Flow queda definido 35 como fij ={(ti, cj)|ti∈T, cj∈C}. 5.2.2. M´etrica La m´etrica que aplica el sistema propuesto es la adaptaci´on de la entrop´ıa de Shannon, a la medici´on de la incertidumbre de la cantidad y el tipo de Tor Flows que fluyen a trav´es del sensor. La decisi´on del uso de dicha entrop´ıa parte del estudio publicado en [22], d´onde el uso del factor de ajuste αsobre la entrop´ıa de R`enyi ha demostrado que en valores m´as bajos, los sensores se comportan de manera menos restrictiva. El valor eficaz m´as bajo fue α= 1, que corresponde con el caso particular de la entrop´ıa de Shannon. Con esto se pretende reducir el problema de las altas tasas de falsos positivos, t´ıpico de los sensores basados en el reconocimiento de anomal´ıas. A partir de la informaci´on extra´ıda es posible conocer la cantidad de c´elulas que componen cada Tor Flow, en los periodos de observaci´on. A partir de ello es posible hallar su probabilidad de aparici´on en dicha observaci´on. Esta viene dada por la expresi´on: pij(ti, cj) = Nij(ti, cj) X i X j Nij(ti, cj) donde (ti, cj) representa el Tor Flow fij yNij(ti, cj) representa el n´umero de c´elulas relativas al Tor Flow fij. A partir de esto es posible el c´alculo de la entrop´ıa: H(F) = −X i,j pij(ti, cj) log2pij(ti, cj) 5.2.3. Series temporales Con el fin de facilitar la identificaci´on de las variaciones en la entrop´ıa, ´estas son tratadas como una serie temporal univariante de Nobservaciones a lo largo del tiempo, expresada de la siguiente manera: Hα(X) = Hα(X)t:t∈1, . . . , N 36 5.3. An´alisis de la informaci´on La informaci´on es analizada en tres etapas: elaboraci´on de modelos predictivos y predicci´on, generaci´on de umbrales adaptativos y toma de decisiones. A continuaci´on se describe cada una de ellas. 5.3.1. Modelos predictivos El componente encargado del an´alisis de la informaci´on procesada tiene como par´ametro de entrada, la serie temporal generada a partir de las m´etricas extra´ıdas. A partir de ella se construye un modelo predictivo ARIMA que permitir´a predecir las futuras variaciones de la entrop´ıa. El modelo se construye de la siguiente forma[41]: 1. Identificar el polinomio diferenciador δ(d) = (1 −B)dque contiene las ra´ıces unidad. 2. Minimizar el Criterio de Informaci´on Bayesiano (BIC) dado por BICp,q = ln(σ2 p,q)+(p+q)ln(N−d) N−d siendo Nel n´umero de observaciones y σ2 p,q =1 N n X t=p (Xt− p X i=1 Φ(p,q) iXt−i+ q X k=1 Θ(p,q) kat−k) 5.3.2. Umbrales adaptativos Para facilitar la toma de decisiones, en esta etapa se construyen dos umbrales adaptativos. El primero limita las cotas superiores del intervalo de predicci´on, mientras que el segundo limita las cotas inferiores. En realidad, estos umbrales adaptativos son los extremos del intervalo de confianza de grado 1 −α, donde α∈(0,1), que es calculado a partir de una distribuci´on normal obtenida a partir de la serie original y de la serie de los errores. 5.3.3. Toma de decisiones La toma de decisiones tiene en consideraci´on la entrop´ıa de cada periodo de observaci´on, y los intervalos de predicci´on construidos a partir del modelo ARIMA. Si la entrop´ıa excede alguno de estos umbrales, las observaciones son consideradas an´omalas, y se emitir´a una alerta. 37 38 Cap´ıtulo 6 Experimentaci´on En este cap´ıtulo se describe la experimentaci´on realizada. Para facilitar su comprensi´on ha sido dividido en tres secciones. En la primera secci´on se explica la implementaci´on del sistema de detecci´on. A continuaci´on se detallan las caracter´ısticas de los conjuntos de muestras considerados. Finalmente, se introduce la metodolog´ıa de evaluaci´on, haciendo hincapi´e en las distintas pruebas realizadas para validar la herramienta. 6.1. Implementaci´on El sistema de detecci´on desplegado en la experimentaci´on, distingue dos etapas de procesamiento: modelado y an´alisis. En la primera de ellas se extraen las caracter´ısticas del entorno protegido, las cuales var´ıan en funci´on del tipo de tr´afico. Las pruebas realizadas requieren del tratamiento de tr´afico TCP/IP y Tor. Para el primer caso, los datos necesarios son las direcciones IP (origen y destino), y los puertos (origen y destino) de cada datagrama. Esto permite la construcci´on de Flows. Sin embargo, para la red Tor los datos a tratar son su circid y la conexi´on TLS, facilitando la definici´on de Tor Flows. Una vez obtenidas las caracter´ısticas se procede a determinar la m´etrica, en este caso la entrop´ıa. Este proceso se realiza en el lenguaje de programaci´on C++. Para ello se leen los datos de tr´afico y se crean los distintos Flows. Se define como observaci´on, a cada conjunto de paquetes de tama˜no ncapturados de manera consecutiva. Tras analizar npaquetes, se calcula su entrop´ıa (el valor asignado por defecto a nes 1000). Este proceso se realiza sucesivamente hasta alcanzar una cantidad considerable de observaciones (el valor asignado por defecto es 80). A partir de estos valores se genera una serie temporal y comienza la segunda fase, el an´alisis de estos datos. 39 El an´alisis de la serie temporal involucra la construcci´on de un modelo ARIMA, capaz de pronosticar la entrop´ıa de la siguiente observaci´on. Esta segunda fase est´a desarrollada en el lenguaje de programaci´on Python. Las principales funciones implementadas se comentan a continuaci´on: Init. La funci´on Init genera un modelo ARIMA asociado a la serie temporal de observaciones. De acuerdo a los datos introducidos, calcula los par´ametros p, d, q. Forecast. La funci´on Forecast construye el intervalo de predicci´on de un modelo ARIMA. Update. La funci´on Update actualiza la serie temporal con una nueva observaci´on. Remodel. La funci´on Remodel recalcula los par´ametros p, d, q. Summary. La funci´on Summary devuelve los errores de predicci´on cometidos a lo largo del an´alisis. En este punto se dispone de dos procesos aislados. En primer lugar, el algoritmo de la entrop´ıa en C++, que analiza tr´afico y calcula sus valores. Por otro lado, el m´etodo de ARIMA en Python que, dada una serie temporal inicial, predice un intervalo de confianza donde deber´ıa encontrarse el siguiente valor de la serie. Para enlazar ambos procesos se ha dispuesto de varias t´ecnicas: variables compartidas, pipes ysockets. Tras el estudio de cu´al era el m´etodo m´as conveniente, se opt´o por el uso de sockets. Esto es debido a que el m´odulo en Python estaba escrito de forma que se pod´ıa usar como una API. En 6.1 se puede ver la arquitectura de la soluci´on propuesta. Para establecer la comunicaci´on se ha desarrollado un servidor en Python (server.py) y una API en C (client.c) con las funciones necesarias. La comunicaci´on se basa en el env´ıo de mensajes, compuestos de un comando y de la carga ´util necesaria relacionada con dicho comando. Todos los mensajes se confirman con un ACK para asegurar la sincronizaci´on entre las dos partes. El hecho de utilizar un cliente y un servidor escritos en lenguajes de programaci´on diferentes, supone que la informaci´on intercambiada entre ambos debe tener la misma representaci´on en ambos lenguajes. Es por esto por lo que los mensajes del 40 C++ PythonSockets JSON Figura 6.1: Comunicaci´on entre los distintos m´odulos protocolo propio han sido encapsulados con JSON (del ingl´es JavaScript Object Notation)[42], un formato ligero para el intercambio de datos, que usa lenguaje legible por humanos para transmitir objectos que consisten de pares atributo-valor. 6.2. Colecci´on de muestras A pesar de que el sistema desarrollado es capaz de analizar tr´afico en tiempo real, evaluarlo correctamente requiere del uso de colecciones de muestras previamente etiquetadas. A continuaci´on se describen los conjuntos de muestras con que se ha experimentado, agrupados en funci´on de su entorno de captura. 6.2.1. Capturas TCP/IP Actualmente existe una gran cantidad de colecciones p´ublicas de tr´afico TCP/IP. Su uso es frecuente en la bibliograf´ıa, ya que permite comparar los resultados obtenidos con propuestas previas. En la experimentaci´on realizada se ha aplicado la colecci´on CAIDA’07[27], ya que se han asumido las indicaciones de [26]. Sin embargo, y tal y como indican sus autores, el contenido de tr´afico leg´ıtimo de CAIDA’07 ha sido pr´acticamente eliminado de sus muestras. Para suplir esta carencia, en la expe41 rimentaci´on se han aplicado muestras de las capturas pasivas de tr´afico CAIDA’14 [29], recopiladas entre los a˜nos 2013 y 2014. Tanto las trazas de tr´afico leg´ıtimo como las de ataques son tomadas en el mismo equipo y en la misma red en a˜nos diferentes. Adem´as, ambas vienen dadas en formato .pcap, el cual es entendido por programas como Wireshark otcpdump. Para poder interpretar dichos datos primeramente es necesario su parseo utilizando la librer´ıa libpcap, generando ficheros de texto entendibles por la herramienta. 6.2.2. Capturas Tor Para la obtenci´on de capturas de tr´afico en Tor, se ha utiliza la herramienta Chutney. El proyecto Chutney parte de la necesidad de emular y configurar una red privada con Tor en la que capturar tr´afico no tenga implicaciones ´eticas, permitiendo crear varios escenarios en los que es capaz de levantar autoridades de directorio, relays, clientes, bridges y cualquier elemento adicional que conforma la red de Tor. Se trata de una herramienta muy reciente, y con escasa documentaci´on, a la cual se ha contribuido a lo largo de este trabajo. El estado actual del proyecto puede consultarse en el repositorio [43]. A partir de Chutney se han configurado dos redes: Una red con 4 directorios de autoridad, 50 nodos cliente, 30 nodos relay (los cuales pueden ser nodos de entrada o nodos de salida) y 20 nodos intermedios. Una red con 1 directorio de autoridad, 25 nodos cliente, 15 nodos relay y 7 nodos intermedios. Para generar tr´afico se ha seguido el siguiente proceso: En el fichero chaneltls.c que forma parte del c´odigo fuente de Tor se a˜nade un fragmento de c´odigo para generar logs de forma que cada vez que un nodo de la red procesa una c´elula, esto quede registrado, y por lo tanto se guarda su circid y la conexi´on TLS de la c´elula. De esta manera, tras generar tr´afico obtenemos un log para cada nodo de la red con las c´elulas que ha procesado. Cada nodo cliente de la red escucha por un puerto determinado. Para generar tr´afico en abundancia se crea un script que mediante el protocolo SOCKS5 hace peticiones a los nodos clientes de Tor para acceder a un servidor web. De esta manera, al tener que realizar una petici´on a un servidor web, cada nodo cliente debe crear un circuito con un nodo de entrada, otro intermedio 42 y otro de salida, y enviar c´elulas a trav´es del circuito para llevar a cabo la petici´on y recoger la respuesta del servidor. De este modo se consigue crear tr´afico leg´ıtimo en la red Tor. Para producir denegaci´on de servicio a un nodo de Tor se han hecho dos variaciones del ataque replay[35]: En el primero, se ha modificado el c´odigo fuente de Tor para crear un nodo malicioso que duplique las c´elulas relay que recibe. En el segundo se ha modificado el primero para que adem´as de duplicar la c´elula (que causa el cierre del circuito) env´ıe esa misma c´elula un cierto n´umero de veces m´as. Este proceso ha permitido la obtenci´on de un conjunto de datasets con tr´afico leg´ıtimo y tr´afico atacante en una red local de Tor. 6.3. Metodolog´ıa de evaluaci´on Con objetivo de evaluar adecuadamente el funcionamiento de la herramienta, se han realizado diversos experimentos. Tanto en el caso de la red TCP/IP como en la red Tor, consisten en analizar ficheros que contienen tr´afico leg´ıtimo seguido de tr´afico atacante. Concretamente para verificar la eficacia de la herramienta en la red TCP/IP se han utilizado 24 trazas de tr´afico leg´ıtimo del a˜no 2013, 24 trazas de tr´afico leg´ıtimo del 2014 y 16 trazas de ataques en CAIDA’07. En total se llevaron a cabo 200 combinaciones distintas de tr´afico leg´ıtimo-malicioso, que fueron analizadas por el sistema propuesto. Para comprobar la eficacia de la herramienta en la red Tor local generada por Chutney se han utilizado 54 trazas de tr´afico leg´ıtimo seguidas de tr´afico de ataque (enlazadas seg´un la funcionalidad del componente en cuesti´on) de la primera de las topolog´ıas mencionadas anteriormente y 22 trazas de la segunda topolog´ıa obtenidas siguiendo el mismo m´etodo. Los puntos de especial inter´es del proceso de evaluaci´on son la tasa de acierto y tasa de falsos positivos del sistema. La primera determina la frecuencia con que los ataques DDoS son identificados por el detector. La tasa de falsos positivos indica 43 ´area. Asimismo, se han investigado las caracter´ısticas de la infraestructura Tor. Cabe destacar que esto ´ultimo ha resultado ser una labor especialmente compleja, debido a la escasa documentaci´on disponible, y a que Tor es una red an´onima, situaci´on que dificulta el rastreo de informaci´on. Asimismo, y en el marco de la experimentaci´on realizada, se ha trabajado directamente sobre el c´odigo fuente del proyecto. Debido a esto, hemos estado en contacto directo con su comunidad de desarrollo, participando activamente en listas de correo, foros y canal IRC. Esto ha llevado a la oportunidad de establecer un contacto continuo con Nick Mathewson, uno de los principales creadores del proyecto Tor, qui´en ha resuelto personalmente algunas de las dudas que se han planteado durante su transcurso. 8.2. Trabajo futuro El trabajo realizado deja abierta una gran cantidad de futuras l´ıneas de investigaci´on. Las primeras de ellas est´an relacionadas con la propia estrategia de detecci´on: ser´ıa de inter´es valorar el comportamiento del sistema al aplicar otro tipo de m´etricas, modelos predictivos o algoritmos de inicializaci´on. Por otro lado, y de cara a mejorar su integraci´on en Tor, ser´ıa conveniente el estudio de estrategias de rastreo de ataques o estrategias de mitigaci´on, dentro de dicha infraestructura. Ambas proponen interesantes desaf´ıos, relacionados tanto con alcanzar una buena eficacia, como en preservar la privacidad de los extremos de las comunicaciones. Finalmente, y en relaci´on con la experimentaci´on, ser´ıa de inter´es ampliar el conjunto de pruebas realizadas. Existen diferentes aspectos relacionados con el rendimiento, o la calidad de servicio que no han sido evaluados. Adem´as, ser´ıa importante estudiar la capacidad de detecci´on del sistema frente a diferentes tipos de ataques de denegaci´on de servicio, e incluso t´ecnicas de evasi´on. 50 Bibliograf´ıa [1] Eurostat (2015). ”Information society statistics - households and individuals 2014”. Available: http://ec.europa.eu/eurostat/statistics-explained/ index.php/Information_society_statistics_-_households_and_ individuals [2] ENISA (2015). ”Privacy and Data Protection by Design”. Available: https://www.enisa.europa.eu/activities/identity-and-trust/ library/deliverables/privacy-and-data-protection-by-design [3] European Commission. ”Press release: Privacy Enhancing Technologies(PETs)”. May 2, 2007. [4] Tor Project (2015). Available: https://www.torproject.org [5] J.A. Cowley, F.L. Greitzer, B. Woods, ”Effect of network infrastructure factors on information system risk judgments”, Computers & Security, Vol. 52, pp. 142-158, July 2015. [6] T. Peng, C. Leckie, K. Ramamohanarao. ”Survey of network-based defense mechanisms countering the DoS and DDoS problems”, ACM Computing Surveys, Vol. 39 (1), no. 3, pp. 1-42, 2007. [7] R. Jansen, F. Tschorsch, A. Johnson, B. Scheuermann, ”The Sniper Attack: Anonymously Deanonymizing and Disabling the Tor Network”, in Proc. of the 18th Symposium on Network and Distributed System Security (NDSS), San Diego, Ca, US, August 2014. [8] European Police (2015), ”The Internet Organised Crime Threat Assessment (iOCTA)”. Available: https://www.europol.europa.eu [9] W. Wei, F. Chen, Y. Xia, G. Jin. ”A rank correlation based detection against distributed reflection DoS attacks”, IEEE Communications Letters, Vol. 17 (1), pp. 173-175, January 2013. 51 [10] C. Douligeris, A. Mitrokotsa, ”DDoS attacks and defense mechanisms: classification and state-of-the-art”, Computer Networks, Vol. 44 (5), pp. 643–666, April 2004. [11] S. T. Zargar, J. Joshi, D. Tipper. ”A Survey of Defense Mechanisms Against Distributed Denial of Service (DDoS) Flooding Attacks”, IEEE Communications Surveys & Tutorials, Vol. 15 (4), pp. 2046-2069, March 2013. [12] H. Sengar, H. Wang, D. Wijesekera, S. Jajodia. ”Detecting VoIP Floods Using the Hellinger Distance”, IEEE Transactions on Parallel and Distributed Systems, Vol. 19 (6), pp. 794-805, June 2008. [13] M. Anagnostopoulos, G. Kambourakis, P. Kopanos, G. Louloudakis, S. Gritzalis. ”DNS amplification attack revisited”, Computers & Security, Vol. 39, part B, pp. 475-485, November 2013. [14] W. Zhou, W. Jia, S. Wen, Y. Xiang, W. Zhou. ”Detection and defense of application-layer DDoS attacks in backbone web traffic”, Future Generation Computer Systems, vol. 38, pp. 36-46, January 2014. [15] S. Shin, S. Lee, H. Kim, S. Kim. ”Advanced probabilistic approach for network intrusion forecasting and detection”, Expert Systems with Applications, Vol. 40, no. 1, pp. 315-322, 2013. [16] S.M. Lee, D.S. Kim, J.H. Lee, J.S. Park. ”Detection of DDoS attacks using optimized traffic matrix”, Computers & Mathematics with Applications, Vol. 63, no. 2, pp. 501-510, September 2012. [17] Y. Chen, X. Ma, X. Wu. ”DDoS detection algorithm based on preprocessing network traffic predicted method and chaos theory”, IEEE Communications Letters, Vol. 17, no. 5, pp. 1052-1054, May 2013. [18] C. Callegari, S. Giordano, M. Pagano, T. Pepe. ”Wave-cusum: improving cusum performance in network anomaly detection by means of wavelet analysis”, Computers & Security, Vol. 31, no. 5, pp. 727-7J5, July 2012. [19] Y. Cai, R.M. Franco, M. Garc´ıa-Herranz. ”Visual latency-based interactive visualization for digital forensics”, Journal of Computational Science, Vol. 1, no. 2, pp. 115-120, June 2010. [20] P.A.R. Kumar, S. Selvakumar. ”Detection of distributed denial of service attacks using an ensemble of adaptive and hybrid neuro-fuzzy systems”, Computer Communications, Vol. 36, no. 3, pp. 303-19, February 2013. 52 [21] I. Ozcelik, R.R. Brooks. ”Deceiving entropy based DoS detection”, Computers & Security, Vol. 48, no. 1, pp. 234-245, February 2015. [22] M.H. Bhuyan, D. K. Bhattacharyya, J.K. Kalita. ”An empirical evaluation of information metrics for low-rate and high-rate DDoS attack detection”, Pattern Recognition Letters, Vol. 51, no. 1, pp. 1-7, January 2015. [23] A.R. Kiremire, M.R. Brust, V.V. Phoha. ”Using network motifs to investigate the influence of network topology on PPM-based IP traceback schemes”, Computer Networks, Vol. 72 (1), pp. 14-32, October 2014. [24] N.M. Alenezi, M.J. Reed. ”Uniform DoS traceback”, Computers & Security, Vol. 45 (1), pp. 17-26, September 2014. [25] S. Khanna, S.S. Venkatesh, O. Fatemieh, F. Khan, C.A. Gunter. ”Adaptive selective verification: an efficient adaptive countermeasure to thwart DoS attacks”, IEEE/ACM Transactions on Netwowking, Vol. 20 (3), pp. 715–728, June 2012. [26] S. Bhatia, D. Schmidt, G. Mohay, A. Tickle. ”A framework for generating realistic traffic for Distributed Denial-of-Service attacks and Flash Events”, Computers & Security, Vol. 40, no. 1, pp. 95-107, February 2014. [27] The CAIDA UCSD (2015), ”DDoS Attack 2007 Dataset”. Available: http: //www.caida.org/data/passive/ddos-20070804_dataset.xml [28] The CAIDA UCSD (2015), ”Anonymized Internet Traces 2008”. Available: http://www.caida.org/data/passive/passive_2008_dataset.xml [29] The CAIDA UCSD Anonymized Internet Traces 2014 (2015), Available: http: //www.caida.org/data/passive/passive_2014_dataset.xml [30] R. Dingledine, N. Mathewson, P. Syverson. ”Tor: the second-generation onion router”, in Proc. of the 13th conference on USENIX Security Symposium, San Diego, CA, US, Vol. 13, August 2004. [31] T. Dierks, E. Rescorla. ”The Transport Layer Security (TLS) Protocol”, IETF RFC 5248, August 2008. [32] A. Freier, P. Karlton. ”The Secure Sockets Layer (SSL) Protocol Version 3.0”, IETF RFC 6101, August 2011. 53 54 BIBLIOGRAF´ IA [33] W. Diffie, M. Hellman. ”New directions in cryptography”, IEEE Transactions on Information Theory, Vol. 22 (6), pp. 644-654, November 1976. [34] Y. Sun, A. Edmundson, L. Vanbever, O. Li, J. Rexford, M. Chiang, p. Mittal. ”RAPTOR: Routing Attacks on Privacy in Tor”, in Proc. of the 24thconference on USENIX Security Symposium, Washington, DC, US, August 2015. [35] R. Pries, W. Yu, X. Fu, W. Zhao. ”A New Replay Attack Against Anonymous Communication Networks”, in Proc. of the IEEE International Conference on Communications (ICC’08), Beijing, Chine, pp. 1578-1582, May 2008. [36] [9] N. Danner, S. Defabbia-Kane, D. krizanc, M. Liberatore. ”Effectiveness and detection of denial-of-service attacks in Tor”, ACM Transactions on Information and System Security (TISSEC), Vol. 15 (3), pp. 11-25, November 2012. [37] C.E. Shannon. ”A mathematical theory of communication”, Bell system technical journal, Vol. 27, pp.397-423, 1948. [38] A. R`enyi. ”On measures of entropy and information”, in Proc. of the 4th Berkeley symposium on mathematical statistics and probability, Berkeley, CA, US, Vol. 1, 547-561, June 1961. [39] G.E.P. Box, G.M. Jenkins. ”Time Series Analysis: Forecasting and Control”, Holden Dayr, San Francisco, California, 1976. [40] A. Sperotto, G. Schaffrath, R. Sadre, C. Morariu, A. Pras, B. Stiller. ”An overview of IP flow-based intrusion detection”, IEEE Communications Surveys & Tutorials, Vol. 12(3), pp. 343-356, July 2010. [41] A. Maravall, D. P´erez. ”Applying and interpreting model-based seasonal adjustment”, The Euro-Area Industrial Production Series, N. 1116, 2011. [42] JSON (2015). Available: json.org [43] Chutney (2015). Available: https://gitweb.torproject.org/chutney.git [44] Tor Metrics (2015). Available: https://metrics.torproject.org/