UNIVERSIDAD DE COSTA RICA SISTEMA DE ESTUDIOS DE POSGRADO Clasificación de tráfico Tor usando modelos basados en árboles de decisión Trabajo final de investigación aplicada sometida a la consideración de la Comisión del Programa de Estudios de Posgrado en Ciencias de la Computación e Informática para optar al grado y título de Maestría Profesional en Computación e Informática Paulo Calvo Vargas Ciudad Universitaria Rodrigo Facio, Costa Rica 2022 Agradecimientos A Montse y Constanza que me apoyan e impulsan a seguir adelante. A mi mamá, mi hermano y mis sobrinos con quienes comparto este viaje. A Camilo Retana quien me ha acompañado por años y fue imprescindible en el inicio de este posgrado. A Aurora Sánchez por quien no habría iniciado este proceso y quien ha sido una con- sejera y compañera. A los profesores Adrián, José y Gabriela quienes me guiaron y ayudaron a llegar a la meta. ii «Este trabajo final de investigación aplicada fue aceptado por la Comisión del Programa de Estudios de Posgrado en Computación e Informática de la Universidad de Costa Rica, como requisito parcial para optar al grado y título de Maestría Profesional en Ciencias de la Computación e Informática» Dr. Edgar Casasola Murillo Representante de la Decana Sistema de Estudios de Posgrado Dr. Adrián Lara Petitdemange Profesor Guía Dr. José Guevara Coto Lector Dra. Gabriela Barrantes Sliesarieva Lector Dra. Gabriela Marín Raventós Directora del Programa Posgrado Computación e Informática Paulo Calvo Vargas Sustentante iii Índice general Agradecimientos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ii Hoja de aprobación . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . iii Lista de tablas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . vii Lista de figuras . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . viii Lista de abreviaturas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ix 1 Introducción 1 1.1 Alcance . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 1.2 Problema . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 1.3 Pregunta de investigación . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 1.4 Objetivos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 1.4.1 Objetivo general . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 1.4.2 Objetivos específicos . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 1.5 Justificación . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 1.6 Estructura del documento . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 2 Estado del Arte 6 2.1 Técnicas manuales . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 2.2 Técnicas que utilizan Machine Learning (ML) . . . . . . . . . . . . . . . . . 7 3 Marco Conceptual 8 3.1 Árboles de decisión y Bosque Aleatorio . . . . . . . . . . . . . . . . . . . . . 8 3.1.1 Árboles de decisión . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8 3.1.2 Bosque Aleatorio . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 3.2 Modelos caja blanca y caja negra . . . . . . . . . . . . . . . . . . . . . . . . 11 3.3 Tor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12 iv 4 Metodología 14 4.1 Revisión de literatura (Objetivo específico 1) . . . . . . . . . . . . . . . . . 14 4.2 Implementación del clasificador (Objetivo específico 2) . . . . . . . . . . . . 14 4.2.1 Generación de tráfico . . . . . . . . . . . . . . . . . . . . . . . . . . . 14 4.2.2 Construcción del clasificador . . . . . . . . . . . . . . . . . . . . . . . 18 4.3 Evaluación y análisis de las variables de mayor importancia (Objetivo espe- cífico 3) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19 5 Resultados 21 5.1 Resultados de la clasificación . . . . . . . . . . . . . . . . . . . . . . . . . . 21 5.2 Análisis de importancia de variables . . . . . . . . . . . . . . . . . . . . . . 22 5.3 Análisis de las características de tráfico . . . . . . . . . . . . . . . . . . . . . 23 6 Conclusiones 26 7 Bibliografía 28 v Resumen En los últimos años el uso de servicios de anonimización ha ganado significante relevan- cia conforme más usuarios se interesan en proteger sus datos y en la privacidad en internet. Una de las formas más populares de lograr este resultado es The Onion Router (TOR). Sin embargo el anonimato e imposibilidad de ser rastreado que proporciona TOR puede ser utilizado por usuarios mal intencionados que intenten aprovecharse de evadir controles y políticas de seguridad. La Agencia de Seguridad de Infraestructura y Seguridad Ciber- nética de Estados Unidos (CISA) menciona dos métodos de reconocer tráfico TOR en una empresa: análisis basado en indicador o basado en comportamiento. El primero utiliza aná- lisis de logs y listas de nodos de salida TOR para identificar actividad sospechosa mientras que el segundo inspecciona patrones en puertos Transmission Control Protocol (TCP) y User Datagram Protocol (UDP), consultas Domain Name System (DNS) e inspección de los datos en los paquetes (payload). En este trabajo se elabora un enfoque diferente utilizando modelos deMachine Learning (ML) de caja blanca tales como árboles de decisión y Bosque Aleatorio. Por un lado, nuestro clasificador logra niveles de exactitud por encima del 99% y por otro lado nuestro enfoque es el primero en permitir la comprensión de cada característica del tráfico en la clasificación. Nuestros resultados demuestran que el tamaño de la ventana TCP, el tamaño del paquete y algunas características relacionadas con el tiempo pueden ser utilizadas para identificar el tráfico TOR. vi Lista de Tablas 1 Detalle de los artículos en sondeo [14] . . . . . . . . . . . . . . . . . . . . . 7 2 Matriz de confusión . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20 3 Métricas de clasificación de C5.0 y Bosque Aleatorio en conjunto de prueba 21 4 Valores de las principales variables predictoras . . . . . . . . . . . . . . . . . 23 vii Lista de Figuras 1 Hoja de ruta de conceptos de clasificación de tráfico según CISA [13] . . . . 7 2 Ejemplo de arquitectura de red TOR. Elaboración propia. . . . . . . . . . . 12 3 Configuración del sniffer en el router MikroTik . . . . . . . . . . . . . . . . 15 4 Problema de desbalance de clases en conjunto de datos original . . . . . . . 17 5 Generación de tráfico de red . . . . . . . . . . . . . . . . . . . . . . . . . . . 17 6 Distribución de clases utilizando tráfico en máquinas virtuales . . . . . . . . 18 7 Flujo de Machine Learning . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18 8 Importancia de variables en C5.0 y Bosque Aleatorio . . . . . . . . . . . . . 22 9 Distribución de variables en el conjunto de datos . . . . . . . . . . . . . . . 24 viii Lista de abreviaturas CART Classification and regression trees CISA Agencia de Seguridad de Infraestructura y Seguridad Ciberné- tica de Estados Unidos DNS Domain Name System ECOA Ley de Igualdad de Oportunidades Crediticias de EE. UU. FBI Federal Bureau of Investigation ID3 Iterative Dichotomiser 3 MDA Mean Decrease in Accuracy MDI Mean Decrease in Node Impurity ML Machine Learning OOB out of bag SDN Red Definida por Software SOCKS Socket Secure SVM Máquinas de Soporte Vectorial TCP Transmission Control Protocol TOR The Onion Router UDP User Datagram Protocol XAI Inteligencia Articial Explicable ix Autorización para digitalización y comunicación pública de Trabajos Finales de Graduación del Sistema de Estudios de Posgrado en el Repositorio Institucional de la Universidad de Costa Rica. Yo, _______________________________________, con cédula de identidad _____________________, en mi condición de autor del TFG titulado ___________________________________________________ _____________________________________________________________________________________________ _____________________________________________________________________________________________ Autorizo a la Universidad de Costa Rica para digitalizar y hacer divulgación pública de forma gratuita de dicho TFG a través del Repositorio Institucional u otro medio electrónico, para ser puesto a disposición del público según lo que establezca el Sistema de Estudios de Posgrado. SI NO * *En caso de la negativa favor indicar el tiempo de restricción: ________________ año (s). Este Trabajo Final de Graduación será publicado en formato PDF, o en el formato que en el momento se establezca, de tal forma que el acceso al mismo sea libre, con el fin de permitir la consulta e impresión, pero no su modificación. Manifiesto que mi Trabajo Final de Graduación fue debidamente subido al sistema digital Kerwá y su contenido corresponde al documento original que sirvió para la obtención de mi título, y que su información no infringe ni violenta ningún derecho a terceros. El TFG además cuenta con el visto bueno de mi Director (a) de Tesis o Tutor (a) y cumplió con lo establecido en la revisión del Formato por parte del Sistema de Estudios de Posgrado. INFORMACIÓN DEL ESTUDIANTE: Nombre Completo: . Número de Carné: Número de cédula: . Correo Electrónico: . Fecha: . Número de teléfono: . Nombre del Director (a) de Tesis o Tutor (a): . FIRMA ESTUDIANTE Nota: El presente documento constituye una declaración jurada, cuyos alcances aseguran a la Universidad, que su contenido sea tomado como cierto. Su importancia radica en que permite abreviar procedimientos administrativos, y al mismo tiempo genera una responsabilidad legal para que quien declare contrario a la verdad de lo que manifiesta, puede como consecuencia, enfrentar un proceso penal por delito de perjurio, tipificado en el artículo 318 de nuestro Código Penal. Lo anterior implica que el estudiante se vea forzado a realizar su mayor esfuerzo para que no sólo incluya información veraz en la Licencia de Publicación, sino que también realice diligentemente la gestión de subir el documento correcto en la plataforma digital Kerwá. SISTEMA DE ESTUDIOS DE POSGRADO ESTUDIANTE Paulo Calvo Vargas 1-1154-0999 Clasificación de tráfico Tor usando modelos basados en árboles de decisión X B79389 1-1154-0999 paulo.calvo@gmail.com Paulo Calvo Vargas 27 / 09 / 2022 8327-9849 Adrián Lara Petitdemange 1 Capítulo 1: Introducción El uso de servicios de anonimización ha ganado relevancia en los últimos años, confor- me más usuarios se interesan en proteger sus datos y su privacidad en internet [1]. Una de las formas más populares de lograr el anonimato es TOR. TOR es un software gratuito y open source que le permite a los usuarios navegar por internet de forma anónima, libres de ser rastreados y del fingerprinting, utilizando un cifrado de capas múltiples [2]. Estas características, sin embargo, también pueden ser utilizadas para evitar controles y políticas de seguridad y ejecutar actividades ilegales como tráfico de drogas, publicación de informa- ción clasificada así como el planeamiento y coordinación de actividades terroristas [3]. La posibilidad de usar TOR para estos fines puede ser una preocupación para administradores de red que intentan asegurar sus recursos; es por esta razón que se han explorado diversos medios para reconocer este tráfico. En el 2014 el Federal Bureau of Investigation (FBI) ejecutó una operación para detener el sitio web Silk Road,una página que se encontraba hospedada en la red TOR, dedicada al comercio en línea de drogas, identificaciones falsas, armas de fuego y otros bienes ilegales además de otros 400 sitios dedicados a fines simi- lares [4].En el 2015 IBM publicó un reporte confirmando que 150,000 ataques maliciosos en los Estados Unidos se originaron desde la red TOR. El reporte también colocaba a esta red como un actor clave en la tendencia de ataques ransomware, con las compañías de comunicación y tecnología como sus principales blancos [5]. El gobierno de los Estados Unidos activamente embarga sitios web hospedados en la red TOR que son utilizados para actividades criminales. 1.1. Alcance Este trabajo de investigación corresponde a una prueba de concepto y por tanto sus resultados no se pueden usar para generalizar sin antes realizar más investigación y ex- perimentación en otros conjuntos de datos. Los datos utilizados para realizar este trabajo fueron generados y capturados en un ambiente controlado. Finalmente, tal y como se deta- 2 lla en las siguientes secciones de este documento, ya existen clasificadores de tráfico TOR utilizando diversas técnicas de ML. El enfoque de esta investigación se encuentra en el aprovechamiento de modelos de clasificación caja blanca para analizar los resultados y generar conocimiento alrededor de los datos. 1.2. Problema La CISA menciona dos métodos para reconocimiento de tráfico TOR a nivel empre- sarial: análisis por indicador y análisis basado en comportamiento; el primero, analiza registros y listas de nodos de salida TOR para identificar la actividad sospechosa mientras que el segundo inspecciona patrones en puertos TCP y UDP, búsquedas DNS e inspección de los datos en los paquetes (payload) [6]. Estas dos estrategias, sin embargo, tienen algunos inconvenientes. La clasificación por números de puerto o por listas de nodos de salida son fácilmente evadidas gracias al uso de puertos dinámicos y aplicaciones que evaden firewalls [7], adicionalmente CISA reconoce que no todos los puntos de acceso o puentes están listados públicamente [6]. La inspección de los datos en los paquetes (payload) trae un problema adicional: la privacidad. En el 2013 el Taller de Diálogo y Estrategia de Ética de Investigación en Ciberseguridad inició una discusión acerca de la influencia de la investigación en ciberseguridad sobre la privaci- dad de los usuarios de internet [8]. Los investigadores deben recordar que sus actividades investigativas tienen un impacto importante en la seguridad de la infraestructura, neutra- lidad de la red y privacidad de los usuarios finales [7]. Cabe señalar que ambas técnicas de análisis descritas anteriormente, inspección por números de puerto o por listas de nodos e inspección de los datos en los paquetes (payload), son técnicas manuales y que no utilizan aprendizaje automático. En contraste con estas técnicas manuales, se ha explorado el uso de algoritmos de ML para encontrar y describir patrones en un conjunto de datos. Con base en una revisión de trabajo relacionado hemos identificado que algunos artículos uti- lizan algoritmos de clasificación de caja blanca; estos modelos brindan un modelo cercano al idioma humano [9] y permiten explicar las decisiones realizadas, sin embargo ninguno de los artículos presenta un análisis acerca de la clasificación realizada. Otros artículos utilizan algoritmos como Redes Neuronales y Máquinas de Soporte Vectorial (SVM); estos son considerados caja negra ya que no dan explicación sobre cómo se llegó a las decisio- nes tomadas. Por lo tanto, en este trabajo se detalla la construcción de un modelo de clasificación con algoritmos de caja blanca y además se presenta un análisis de las varia- 3 bles predictoras. Para cumplir con este propósito se decidió utilizar algoritmos basados en árboles de decisión. Lo expuesto anteriormente lleva al planteamiento de la pregunta de investigación. 1.3. Pregunta de investigación ¿Es posible aprovechar las ventajas de los modelos de caja blanca para identificar patrones que permitan clasificar el tráfico TOR? 1.4. Objetivos A continuación se describirá el objetivo general así como los objetivos específicos que son abordados en esta investigación. 1.4.1. Objetivo general Construir un clasificador asincrónico de tráfico TOR usando árboles de decisión y Bos- que Aleatorio para aprovechar las ventajas de un modelo de caja blanca. 1.4.2. Objetivos específicos 1. Identificar cómo se han usado modelos de aprendizaje de máquina para clasificar tráfico TOR y los datos con los que han sido evaluados a través de una revisión de literatura. 2. Implementar un clasificador de tráfico TOR, basado en un modelo caja blanca. 3. Evaluar el clasificador implementado en términos de exactitud y realizar un análisis de las variables de mayor importancia en el modelo. 1.5. Justificación Con base en lo expuesto en la sección 1.2 en donde se identificaron debilidades y pro- blemas de privacidad en las técnicas manuales existentes, así como falta de visibilidad y de análisis en los modelos de clasificación de aprendizaje automático, se implementó un clasificador bajo un modelo de caja blanca 1 y se realizó un análisis de las variables más 1Bosque Aleatorio es considerado por muchos autores como un modelo caja negra. Sin embargo, para los propósitos de nuestro análisis de importancia de variables, este algoritmo permite extraer este tipo de información sin necesidad de examinar los árboles individuales. Esto se detalla en la sección 3.2. 4 importantes del modelo. Esto nos permitió hacer inferencias acerca de las decisiones toma- das por los algoritmos a partir del análisis de la importancia de variables en la clasificación. Esto a su vez nos dio datos para poder analizar el tráfico generado y generar conocimiento hacia la detección del tráfico TOR. Este conocimiento puede beneficiar a administradores de red que buscan detectar este tipo de tráfico de red tomando en cuenta que expone las redes de negocios a un sinnúmero de vulnerabilidades, consecuencias legales y un riesgo creciente de una infección por malware [10]. Los términos caja blanca, modelo comprensible e Inteligencia Articial Explicable (XAI) son utilizados para etiquetar modelos de ML que dan resultados que son fáciles de entender por expertos en el dominio de la aplicación sin necesidad de un modelo adicional [9]. Existe una tendencia hacia los modelos de caja blan- ca debido a que los expertos requieren modelos tanto exactos como comprensibles. Ambos tipos de modelo (caja blanca y caja negra) han demostrado buenos resultados en diferentes aplicaciones. Sin embargo, por lo general, cuando uno es adecuado para un problema, el otro obtiene malos resultados [9]. En varios problemas prácticos es obligatorio tener una explicación de los resultados obtenidos. Por ejemplo, la Ley de Igualdad de Oportunidades Crediticias de EE. UU. (ECOA) determina como ilegal rechazar un crédito a un cliente y dar explicaciones indefinidas o poco detalladas, por tanto cualquier clasificador utilizado en una institución financiera debe utilizar un modelo explicativo [11]. Este trabajo: No depende de simular nodos ni de tener acceso a un servidor que forme parte de la red. No requiere inspección de los datos en los paquetes (payload), manteniendo la priva- cidad de los usuarios. Plantea un modelo caja blanca que nos permitió hacer inferencias y examinar los factores involucrados en la clasificación. En nuestra revisión de trabajo relacionado no pudimos encontrar ningún otro autor que haya realizado el trabajo descrito anteriormente. 1.6. Estructura del documento El resto de esta investigación se organiza de la siguiente forma: primero presentaremos trabajo relacionado a nuestra investigación en la sección 2. En la sección 3 presentaremos 5 algunos conceptos importantes relevantes para este trabajo. En la sección 4 explicaremos la metodología que fue utilizada y finalmente en la sección 5 se presentan los resultados que incluyen un análisis de las variables que participan en la clasificación. 6 Capítulo 2: Estado del Arte En [12], se detalla una revisión de literatura que se realizó acerca de este tema. De esta revisión se resume que existen dos agrupaciones de las técnicas utilizadas en la literatura para clasificar tráfico TOR: 1. Técnicas manuales. a) Se pueden evadir fácilmente. b) Presentan problemas de privacidad para los usuarios. 2. Utilizan ML. a) Modelos caja negra que no permiten explicar los resultados. b) Modelos caja blanca pero que no hacen análisis de variables. A continuación describiremos brevemente estas dos técnicas de clasificación. 2.1. Técnicas manuales Tal y como se mencionó anteriormente y como puede observarse en la figura 1, la CISA menciona dos métodos para reconocimiento de tráfico TOR a nivel empresarial: análisis por indicador y basado en comportamiento. El enfoque basado en indicador pue- de utilizar análisis de registros y listas de nodos de salida TOR para identificar la ac- tividad sospechosa. La lista de nodos de salida es mantenida por el proyecto TOR en https://check.torproject.org/torbulkexitlist. El enfoque basado en comportamien- to requiere la inspección de patrones explorando puertos TCP y UDP asociados con tráfico TOR (9001, 9030, 9040, 9050, 9051 y 9150), inspección de consultas DNS por nombres de dominio con el sufijo «torproject.org» o finalizando en «.onion» y en algunos casos me- diante la inspección de los datos en los paquetes (payload) [6]. La clasificación por números de puerto o por listas de nodos de salida son fácilmente evadidas gracias al uso de puertos https://check.torproject.org/torbulkexitlist 7 Figura 1: Hoja de ruta de conceptos de clasificación de tráfico según CISA [13] dinámicos y aplicaciones que evaden firewalls [7], adicionalmente CISA reconoce que no todos los puntos de acceso o puentes están listados públicamente [6] lo cual convierte a estas estrategias en fáciles de evadir. 2.2. Técnicas que utilizan ML De la revisión realizada en [12], se desprende que con respecto a los métodos utilizados la inclinación es hacia modelos basados en árboles de decisión. Esto se muestra en la tabla 1. Ninguno de los artículos presentó un análisis de la clasificación ni de las variables involucradas en el modelo (esta es una de las principales contribuciones en el presente trabajo) y hacia SVM, siendo este un modelo de caja negra que no permite interpretar de forma simple la salida del modelo [9]. Cuadro 1: Detalle de los artículos en sondeo [14] Algoritmo Referencias Porcentaje de utilización C4.5 [15],[1],[16],[17],[18],[19] 18.75% Random Forest [15],[1],[16],[18] 12.5% Decision Trees [20],[21] 6.25% Basados en árboles de decisión 37.5% SVM [22],[23],[16],[24],[18] 15.625% Naive Bayes [20], [15], [1],[18] 12.5% Bayesian Networks [20],[15],[1],[19] 12.5% K-Means [25],[22] 6.25% Hidden Markov model [25],[26] 6.25% AdaBoost [16] 3.125% Tri-Training [21] 3.125% Second-Order Markov chain [27] 3.125% En la siguiente sección explicaremos algunos conceptos utilizados en este trabajo. 8 Capítulo 3: Marco Conceptual Este trabajo utiliza algunos conceptos relacionados con árboles de decisión y Bosque Aleatorio, la red TOR y la clasificación de tráfico dentro de esta red. A continuación presentaremos algunos conceptos empleados en esta investigación. 3.1. Árboles de decisión y Bosque Aleatorio Para este trabajo se decidió utilizar el árbol de decisión C5.0 y Bosque Aleatorio. Esto porque estos algoritmos de caja blanca son los sistemas de predicción de mayor uso en la revisión de trabajo relacionado, generalmente muestran buen desempeño en tareas de clasificación binaria y ambos permiten la identificación de datos relacionados con el modelo. Tal y como describió en la justificación, los modelos caja blanca son aquellos que dan resultados fáciles de entender por expertos en el dominio de la aplicación sin necesidad de un modelo adicional. Los modelos caja blanca tienen una buena relación entre exactitud y su cualidad de ser explicados [9]. 3.1.1. Árboles de decisión Los árboles de decisión han sido utilizados ampliamente para construir modelos de clasificación y de regresión; estos modelos se asemejan al razonamiento humano y son fáciles de entender [28]. Un árbol de decisión consiste en una serie de decisiones lógicas, similar a un diagrama de flujo, con nodos que indican que una decisión debe hacerse sobre un atributo. Los nodos se dividen en ramas que indican las elecciones. El árbol termina en hojas que denotan el resultado de seguir una combinación de decisiones [29]. En su forma más básica los árboles de decisión son sentencias «if-then» anidadas. Para un problema de dos clases un árbol de decisión simple podría ser: 9 if Predictor B >= 0.197 then | if Predictor A >= 0.13 then Class = 1 | else Class = 2 else Class = 2 Comando 1: Ejemplo de árbol de decisión [30] Los árboles de decisión tienden a ser más interpretables que otros clasificadores co- mo redes neuronales y máquinas de soporte vectorial porque combinan preguntas simples acerca de los datos en una forma comprensible [31]. Son algoritmos no-paramétricos dado que no hacen ningún supuesto con respecto a la distribución de la variable dependiente, las variables explicativas y la relación funcional entre ellas [32]. Algunas de las principales ventajas de los árboles de decisión, al ser denominados un modelo de caja blanca, es tener acceso a una explicación intuitiva de cómo se tomó una decisión además de poder visualizar el árbol generado, adicionalmente su soporte de variables tanto categóricas como numéricas en los algoritmos modernos y que requieren poco procesamiento de los datos de entrada. En cuanto a sus principales desventajas se puede señalar que pueden tender al sobreajuste, pequeñas variaciones en los datos pueden resultar en la necesidad de regenerar todo el árbol y que solo pueden generar un único árbol por problema. En problemas de la vida real podría ser útil tener la disponibilidad de varios árboles y que el usuario pudiera escoger el más apropiado para un caso singular [33]. Existen varias implementaciones de algoritmos de árboles de decisión, por ejemplo Iterative Dichotomiser 3 (ID3) [34],Classification and regression trees (CART) [35], C4.5 [36], SPRINT [37], SLIQ [38]. CART es un popular algoritmo de árboles de decisión publicado por L. Breiman et al. en 1984 [35]. CART crea árboles binarios y continúa dividiendo siempre y cuando las nuevas divisiones aumenten la pureza. El algoritmo identifica un conjunto de estos sub- árboles como modelos candidatos. Estos sub-árboles candidatos son aplicados al conjunto de validación y el árbol con la validación más baja y la tasa de error de clasificación es seleccionado como el modelo final [39]. ID3 solo funciona con datos categóricos y crea ár- boles dividiendo todas las categorías de un atributo, produciendo árboles poco profundos y anchos. Su medida de ganancia de información está basada en la medida de entropía de Shannon [40]. C4.5 es una mejora de ID3 y entre algunas de sus mejoras es que puede tra- bajar con atributos numéricos, puede manejar valores faltantes, tiene opciones de recorte (pruning) entre otras [40]. C5.0 es una versión mejorada de C4.5 y tiene características 10 adicionales como boosting y costos desiguales para diferentes tipos de errores. C5.0 tiene varias mejoras que permiten la generación de árboles más pequeños y simples que C4.5, lo cual mitiga el riesgo de sobreajuste. El proceso de boosting del C5.0 es similar a otros algo- ritmos como AdaBoost en que los modelos son ajustados secuencialmente y cada iteración ajusta los pesos de casos basándose en la exactitud de la predicción de una muestra. Sin embargo tiene algunas diferencias [30]: 1. C5.0 intenta crear árboles de un tamaño aproximado al primer árbol coaccionando a los árboles para que tengan un número de nodos terminales por caso cercano al árbol inicial. Otras técnicas de boosting utilizaban la complejidad del árbol como un parámetro ajustable. 2. Cada modelo calcula el nivel de confianza para cada clase y se obtiene su promedio. La clase con el modelo de confianza es elegida. 3. C5.0 conduce dos análisis durante el entrenamiento. El modelo automáticamente detendrá el proceso de boosting si el modelo es muy efectivo (la suma de pesos para las muestras clasificadas incorrectamente es menor a 0.10) o muy inefectivo (el peso promedio de muestras incorrectas es mayor al 50%). Aunque son intuitivos e interpretables [31], los árboles de decisión son conocidos por ajustarse a los datos de entrenamiento lo cual lleva al sobreajuste. Esta incapacidad de generalizar puede ser superada mediante el uso de Bosque Aleatorio. En este trabajo se utiliza el árbol de decisión C5.0 el cual es una versión mejorada del C4.5. 3.1.2. Bosque Aleatorio Bosque Aleatorio es un conjunto de árboles predictores. Cada árbol depende de los valores de un vector aleatorio con muestras independientes y con la misma distribución de todos los árboles en el bosque [41]. Este es uno de los algoritmos de predicción más utiliza- do y está basado en ideas de agregación del modelo de ML para problemas de regresión y clasificación [42]. El principio de Bosque Aleatorio es combinar muchos árboles de decisión binarios construidos usando varias muestras bootstrap provenientes de la muestra de entre- namiento L y seleccionando de forma aleatoria, en cada nodo, una muestra de las variables explicativas X [42]. Por lo general problemas más complejos y con conjuntos de datos más grandes funcionan mejor con mayor número de árboles [29]. Este algoritmo es conocido como un método de conjunto, basado en la idea de combinar múltiples aprendices débiles 11 para formar un aprendiz más fuerte. Usar un método de conjunto como Bosque Aleatorio proporciona varios beneficios tales como [29]: Mejor generalización para problemas futuros al incorporar las opiniones de varios aprendices en una única predicción final. Esto reduce la posibilidad de sobreajuste. Mejor desempeño en grupos de datos grandes o de tamaño reducido. La habilidad de sintetizar datos provenientes de varios dominios. Una comprensión más completa de tareas de aprendizaje difíciles. Los modelos que dividen su tarea en porciones más pequeñas son dados a captar de forma más precisa los patrones sutiles que un único modelo global podría pasar por alto. Bosque Aleatorio es, en parte, efectivo en superar el sobreajuste gracias a que una decisión es liderada por una mayoría (moda para clasificación y media para regresión) en las predicciones del conjunto. Al igual que la mayoría de clasificadores, Bosque Aleatorio puede sufrir del problema de aprender de un conjunto de datos desbalanceado. Dado que está construido para minimizar la tasa global de error, el modelo se enfocará en la exactitud de la predicción de la clase mayoritaria. Esto a menudo conducirá a una baja exactitud para la clase minoritaria [43]. 3.2. Modelos caja blanca y caja negra La interpretabilidad de un modelo se define como el grado en el que un observador puede comprender la causa de una decisión [44]. Un modelo es más interpretable que otro si sus decisiones son más fáciles de explicar para un humano [45]. Una de las razones por las que la interpretabilidad es importante es para generar comprensión científica y generar conocimiento [46]. En general, se puede clasificar los modelos de clasificación como caja negra y caja blanca en base a su interpretabilidad. Un modelo caja negra es un sistema que no revela sus mecanismos internos. En ML, caja negra describe modelos que no pueden ser comprendidos al ver sus parámetros [47] mientras que los caja blanca tienden a ser modelos interpretables [44]. De acuerdo con las definiciones presentadas anteriormente y, tomando en cuenta que Bosque Aleatorio es un conjunto de árboles; en la literatura es considerado como un modelo caja negra. Sin embargo, el hecho que este permita extraer la importancia de las variables, nos permite considerarlo un modelo interpretable para nuestros propósitos y por ende lo categorizamos como un modelo caja blanca. 12 3.3. Tor La idea de onion routing inició a mediados de los 90s cuando la falta de seguridad en internet y la posibilidad de ser rastreado y vigilado se volvió evidente. El objetivo del onion routing es tener una forma de usar el internet con tanta privacidad como sea posible y la idea es dirigir el tráfico a través de múltiples servidores y cifrarlo a lo largo del camino [48]. En el onion routing los clientes seleccionan una ruta a través de la red y construyen un circuito en el cual cada nodo en el camino conoce a su predecesor y sucesor pero no conoce a ningún otro nodo en el circuito. El objetivo es anonimizar las aplicaciones basadas en TCP, como la navegación web, SSH y mensajería [49]. Solo el nodo de entrada puede observar el origen de una solicitud a través de la red TOR y solo el nodo de salida puede examinar los datos en los paquetes (payload) descifrado y conocer el servidor de destino final. Un único nodo no puede inferir las identidades del cliente inicial y el servidor de destino [50]. TOR es una de las implementaciones más grandes de onion routing, consiste en miles de nodos relay que dan servicios de redireccionamiento de forma voluntaria. Para proteger su identidad, los clientes cifran sus mensajes varias veces antes de enviarlos a través de un circuito de varios nodos. Cada nodo descifra una capa de cada mensaje antes de reenviarlo al siguiente nodo o servidor destino. TOR tiene un sistema de directorio que informa a los clientes acerca de la estabilidad y recursos disponibles en cada nodo. Los clientes utilizan esta información para seleccionar los nodos para su circuito [51]. La figura 2 muestra un ejemplo de la arquitectura descrita anteriormente. Servidor Directorio Usuario Nodo Guardian Nodo Relevo Nodo Salida Internet Figura 2: Ejemplo de arquitectura de red TOR. Elaboración propia. Los usuarios de TOR descargan e instalan el cliente TOR el cual actúa como un proxy 13 Socket Secure (SOCKS) entre el cliente y la red TOR. El cliente realiza los siguientes pasos: 1. se conecta a un servidor directorio. 2. descarga una lista de nodos disponibles. 3. selecciona tres nodos. 4. construye un canal cifrado al primer nodo. 5. sobre este canal construye un canal cifrado al segundo nodo. 6. sobre este canal construye un canal cifrado al tercer nodo. Esta secuencia permite que el cliente tenga una conexión al nodo de salida pero este no tiene forma de conocer al nodo de entrada o al cliente mismo, de forma similar el nodo de entrada no conoce al nodo de salida [52]. En la siguiente sección se describirá la metodología utilizada en esta investigación. 14 Capítulo 4: Metodología A continuación se detalla la metodología que se siguió durante este trabajo. Primero se realizó una revisión de trabajo relacionado, descrita en la sección 4.1. A continuación en la sección 4.2 se explica la implementación del clasificador. Se finaliza esta sección con la descripción de la evaluación del modelo en la sección 4.3. 4.1. Revisión de literatura (Objetivo específico 1) En la sección 2 se describió una lista de trabajos relacionados con esta investigación, documentados en [14]. En el cuadro 1 se detallan los artículos cubiertos en este sondeo jun- to con los porcentajes de utilización según su técnica. Adicionalmente en [12] se hizo una revisión de trabajo relacionado que detalla características de artículos utilizados en nuestra investigación. Todos estos artículos reportan que con respecto a los métodos utilizados la inclinación es, en primer lugar, por modelos basados en árboles de decisión. Sin embargo ninguno de los artículos presentó un análisis de la clasificación ni de las variables involu- cradas en el modelo, esta es una de las principales contribuciones en el presente trabajo. En segundo lugar SVM, siendo este un modelo de caja negra que no permite interpretar de forma simple la salida del modelo [9]. 4.2. Implementación del clasificador (Objetivo específico 2) A continuación se detallarán las dos fases que componen la implementación del clasifi- cador. 4.2.1. Generación de tráfico La captura del tráfico se realizó en una red doméstica conectada a un router MikroTik RB951G-2HnD por medio de un sniffer. Un sniffer es un dispositivo o software que mo- nitorea todo el tráfico de red. En este trabajo se utilizó la funcionalidad disponible en el 15 RouterOS v6.45.3 con la configuración que se muestra en la figura 3. Figura 3: Configuración del sniffer en el router MikroTik Los datos fueron recolectados por medio del servicio tzsp2pcap (TaZmen Sniffer Pro- tocol to pcap converter) [53] que se estaba ejecutando en una computadora de escritorio corriendo Gentoo Linux con el kernel 4.19.57-gentoo. El comando 2 muestra cómo fue eje- cutado el servicio, el argumento «-c 10000000» rota los archivos cada 10MB y «-z gzip» los comprime post-rotación. $ tzsp2pcap −o "file.pcap" −C 10000000 −z gzip Comando 2: Comando con el que se ejecutó tzsp2pcap Una vez finalizada la captura los archivos .pcap fueron unidos mediante la utilidad mergecap tal y como se puede observar en el comando 3. $ mergecap −w merged.pcapng file.pcap∗ Comando 3: Uso del comando mergecap Finalmente el archivo .pcapng fue convertido a .csv mediante la utilidad tshark. En la conversión se escogieron los campos que queríamos extraer del archivo pcapng como se muestra en el comando 4. La mayoría de los campos extraídos fueron utilizados para realizar análisis exploratorio y fueron removidos previo al proceso de entrenamiento del algoritmo de clasificación. Este archivo csv fue pre-procesado, incluyendo un etiquetado manual utilizando la dirección IP de la computadora generando tráfico TOR como clase TOR y el resto de paquetes como NOTOR. Este archivo fue la fuente de datos para los algoritmos de ML. El proceso está más detallado en la figura 7. 16 $ tshark −r merged.pcapng −T fields −e ip.src −e tcp.srcport −e ip.dst −e tcp.dstport −e ip.proto −e ip.len −e frame.len −e tcp.len −e frame.protocols −e frame.time −e frame.time_delta −e frame.time_relative −e tcp.time_relative −e tcp.time_delta −e tcp.stream −e tcp.window_size −E header=y −E separator=, −E quote=d > merged.csv Comando 4: Conversión de archivo pcapng a csv mediante tshark Problema de desbalance de clases En una primera iteración en la captura de tráfico, se conectó una computadora a la red TOR y se dejó generando tráfico por varias horas mientras que aproximadamente diez dispositivos en la red tenían actividad de uso normal. Esto presentó un desbalance en el número de observaciones por clase dada la diferencia en dispositivos conectados a cada red, este desbalance se puede observar en la figura 4. El problema de desbalance de clases sucede cuando una de las clases está subrepresentada en el conjunto de datos. Los conjuntos de datos desbalanceados tienden a dificultar el aprendizaje del clasificador hasta el punto que el criterio de evaluación puede tender a ignorar las clases minoritarias tratándolas como ruido [54]. Existen técnicas para lidiar con problemas de desbalance de las clases. Estas incluyen hacer un cambio en la distribución de las clases mediante submuestreo (under-sampling) o sobremuestreo (over-sampling) entre otras. El submuestreo consiste en eliminar de forma 17 Class NOTOR TOR Figura 4: Problema de desbalance de clases en conjunto de datos original aleatoria observaciones de la clase mayoritaria, esto presenta el riesgo de descartar datos potencialmente útiles para el clasificador. El sobremuestreo consiste en replicar de forma aleatoria observaciones de la clase minoritaria. Esto presenta una principal desventaja; aumenta la posibilidad del sobreajuste dado que hace copias exactas de las observaciones minoritarias [55]. En nuestro caso y a pesar que se obtuvo buenos resultados, se optó por hacer una segunda iteración de la captura utilizando máquinas virtuales para descartar un problema de sesgo o sobreajuste en el clasificador; esto eliminó la necesidad de generar datos sintéticos. Este proceso se detalla en la siguiente sección. Uso de máquinas virtuales Para buscar un conjunto de datos con una representación más balanceada de las clases se procedió a utilizar una topografía con dos máquinas virtuales. Las dos máquinas virtuales produjeron el mismo tipo de tráfico mediante un script de Puppeteer [56] el cual generó una navegación headless automatizada [57]. Ambas máquinas virtuales ejecutaron la misma versión de Debian Linux como sistema operativo. El flujo es explicado en la figura 5. Multiples archivos .pcap con el tráfico capturado Sniffer en router  Mikrotik tzsp2pcap Archivo .csv consolidando los archivos .pcap por medio de tshark Algoritmos MLTor NoTor Red Tor LAN Script de Puppeteer Figura 5: Generación de tráfico de red Este enfoque no introdujo un cambio considerable en la exactitud de la clasificación con respecto a la anterior iteración pero sí permitió hacer un análisis más uniforme de los 18 datos y posteriormente de las variables involucradas en la clasificación. En esta captura se recolectó alrededor de 285 mil paquetes. Class NOTOR TOR Figura 6: Distribución de clases utilizando tráfico en máquinas virtuales A continuación se detallará el proceso de construcción del clasificador. 4.2.2. Construcción del clasificador La figura 7 muestra un flujo básico de cómo fueron procesados los datos. Para este trabajo se usó R versión 4.1.2 [58] como lenguaje para el preprocesamiento, análisis y cla- sificación de los datos. Para la mayor parte del preprocesamiento del conjunto de datos se utilizó funciones de la librería tidyverse [59]. El preprocesamiento involucró un análisis exploratorio del tráfico, el etiquetado manual de las clases y la posterior eliminación de paquetes que no tenían relevancia en nuestro análisis como por ejemplo solicitudes DNS, DHCP y NTP entre otros. Para la clasificación se utilizó el paquete C5.0 [60], y random- Forest [61] de R. En ambos clasificadores se utilizó el mismo conjunto de entrenamiento y de prueba los cuales correspondían a un 75% y 25% de los datos respectivamente. Archivo .csv con los datos del tráfico Procesamiento de datos y anotación manual en R (TOR/NOTOR) C5.0 Random Forest TOR NOTOR TOR NOTOR Figura 7: Flujo de Machine Learning 19 4.3. Evaluación y análisis de las variables de mayor impor- tancia (Objetivo específico 3) Tal y como se ha explicado en secciones anteriores, una de las características princi- pales de los árboles de decisión y de otros modelos categorizados como caja blanca, es la posibilidad de interpretar sus decisiones. Muchos expertos dependen de esa interpretación para poder tomar decisiones en su respectivo campo [62]. La medida de desempeño más común para árboles de decisión es la tasa de exactitud predictiva [63]. Algunos investigadores también han considerado la simplicidad del árbol; para algunos simplicidad significa el número de hojas en el árbol [64] mientras que otros han sugerido que los tamaños de las reglas (por ejemplo, número de conjuntos de variables de decisión) también son relevantes [65]. Estas dos medidas tienen implicaciones sobre la interpretabilidad del árbol [63]. Para evaluar un modelo de árboles de decisión dado un conjunto de datos S, se necesita un conjunto de datos Q, el cual usualmente es obtenido del mismo conjunto S. Cada objeto de Q es clasificado usando el modelo y los resultados son ingresados en una matriz de confusión [62]. La matriz de confusión es una tabla de contingencia que categoriza las predicciones de acuerdo a si coinciden con el valor real en los datos. Una de las dimensiones de la tabla indica las posibles categorías de los valores predichos mientras que la otra dimensión indica lo mismo para los valores reales [29]. El cuadro 2 muestra la estructura de una matriz de confusión. Para nuestro trabajo la representación de cada uno de los cuadrantes en la tabla corresponde a: Verdaderos positivos (VP): número de paquetes clasificados correctamente como TOR. Falsos positivos (FP): número de paquetes incorrectamente clasificados como TOR. Verdaderos negativos (VN): número de paquetes correctamente clasificados como NoTor. Falsos negativos (FN): número de paquetes incorrectamente clasificados como NoTor. Hay tres tipos principales de datos usados para evaluar un clasificador: el valor real de la clase, el valor de la clase predicha, probabilidad estimada de la predicción [29]. Para la evaluación del modelo de este trabajo se utilizó la exactitud (accuracy) como la principal métrica de desempeño. La exactitud está definida como la proporción que 20 Cuadro 2: Matriz de confusión Predicción Positivos Negativos Observación Positivos Verdaderos Positivos (VP) Falsos Negativos (FN) Negativos Falsos Positivos (FP) Verdaderos Negativos (VN) representa el número de verdaderos positivos y verdaderos negativos dividido por el número total de predicciones [29]. Esta es la métrica más utilizada en reportes de desempeño en clasificación binaria [66]. La exactitud está definida en la fórmula 4.1. Exactitud = V P + V N V P + FP + FN + V N (4.1) Además de la evaluación del modelo se realizó un análisis de las variables de mayor importancia en los clasificadores. Los árboles de decisión y Bosque Aleatorio incorporan medidas de importancia de las variables. Las variables predictoras más importantes pueden ser elegidas para realizar más investigación o para construir un modelo más parsimonioso [67]. En R, por defecto, C5.0 mide la importancia de las variables predictoras determinando el porcentaje de muestras en el conjunto de prueba que caen en todos los nodos terminales posterior a la división del árbol [68]. En el caso de Bosque Aleatorio la función de importancia calcula dos medidas: 1. Mean Decrease in Accuracy (MDA): decremento total en la exactitud después de permutar los datos out of bag (OOB). Para cada árbol el error de predicción en las porciones de los datos OOB es almacenado, luego se hace lo mismo después de permutar cada variable predictora. La diferencia entre ambos se promedia sobre todos los árboles y normalizada por la desviación estándar de las diferencias. Si la desviación estándar de las diferencias es igual a 0 para una variable, no se hace la división. La métrica MDA está basada en cuánto decrece la exactitud cuando se excluye esa variable. 2. Mean Decrease in Node Impurity (MDI): decremento total en la impureza de los nodos después de dividir por la variable, promediado entre todos los árboles. En ejercicios de clasificación la impureza es medida mediante el índice de Gini [69]. En la sección 5 presentamos los resultados tanto de la clasificación como el análisis de la importancia de las variables. Después de haber presentado la metodología utilizada en esta investigación, procederemos a presentar los resultados. 21 Capítulo 5: Resultados A continuación se presentan los resultados de la clasificación tanto utilizando C5.0 como Bosque Aleatorio, el análisis de la importancia de las variables predictoras y finalmente un análisis de las características del tráfico de red utilizado en el análisis con respecto a esas variables. 5.1. Resultados de la clasificación Los resultados de nuestra clasificación con C5.0 y de Bosque Aleatorio se muestran en el cuadro 3. Estas métricas son similares al promedio de las obtenidas en los artículos documentados en la sección 2. Sin embargo, tal y como se mencionó en esa sección, nuestro principal aporte radica en el análisis de la importancia de las variables responsables en la clasificación. Ambos clasificadores mostraron buen desempeño en sus métricas. El hecho que ambos tengan la habilidad de distinguir de forma efectiva entre el tráfico TOR y NoTor es una contribución importante. Sin embargo, consideramos que la principal contribución de este trabajo es el análisis realizado en cuanto a cuáles variables juegan un rol importante en la clasificación. Esto se detalla en la subsección 5.2. Cuadro 3: Métricas de clasificación de C5.0 y Bosque Aleatorio en conjunto de prueba C5.0 Bosque Aleatorio Accuracy 0.9988 0.9996 Sensitivity 0.9987 0.9994 Specificity 0.9989 0.9997 Balanced Accuracy 0.9988 0.9996 La exactitud (accuracy) es una de las medidas más usadas para medir el desempeño de clasificación y corresponde a la relación entre las muestras clasificadas correctamente y el número total de muestras [70], tal y como se mostró en 4.1 . La sensibilidad (sensitivity) representa la proporción de verdaderos positivos que fueron correctamente identificados por el clasificador mientras que la especificidad (specificity) es 22 la proporción de verdaderos negativos que fueron correctamente identificados [71]. Sensibilidad = V P V P + FN (5.1) Especificidad = V N FP + V N (5.2) Finalmente, la exactitud balanceada (balanced accuracy) está definida como la media aritmética de sensibilidad y especificidad. Darle peso a las dos clases equipara los errores tanto positivos como negativos causados por desbalance de clases. La exactitud balanceada es algebraicamente idéntica a la exactitud cuando los conjuntos de datos son completamente balanceados [72]. Exactitud Balanceada = sensibilidad+ especificidad 2 (5.3) En nuestros resultados se obtuvieron buenos resultados en todas las métricas de la clasificación lo que nos permite concluir que el tráfico tiene características que nuestro clasificador permite distinguir, esto será detallado en la siguiente sección. Adicionalmente y como se planteó anteriormente, se hizo un análisis de las variables más importantes que participaron en la clasificación. 5.2. Análisis de importancia de variables La importancia de las variables tanto para C5.0 como para Bosque Aleatorio se pueden observar en la figura 8. En el caso de Bosque Aleatorio se muestra la medida de MDA. frame.len frame.time_delta tcp.time_delta frame.time_relative ip.len tcp.window_size tcp.time_relative 0 25 50 75 100 Porcentaje de importancia en la clasificación Árbol de decisión C5.0 frame.time_delta frame.len tcp.time_delta frame.time_relative ip.len tcp.time_relative tcp.window_size 0 25 50 75 100 Porcentaje de importancia en la clasificación Bosque Aleatorio Figura 8: Importancia de variables en C5.0 y Bosque Aleatorio En ambos algoritmos se presenta una coincidencia en las variables predictoras de mayor 23 importancia, particularmente en tcp.window_size y características de tiempo. Esto nos permite concluir que son estas las que marcan diferencias entre las clases en el tráfico que permiten que ambos clasificadores logren identificar con alta exactitud. 5.3. Análisis de las características de tráfico Las variables predictoras que surgen de nuestro análisis se pueden agrupar de la siguien- te forma: tcp.window_size y características de tiempo (frame.time_delta, frame.time_relative, tcp.time_relative y tcp.time_delta). A continuación exploraremos algunas de sus carac- terísticas y porqué creemos que están listadas como las variables predictoras de mayor importancia. Este análisis está basado en los resultados mostrados en la figura 9 y en el cuadro 4. Cuadro 4: Valores de las principales variables predictoras NOTor Tor tcp.window_size min 0 489 max 65535 9314 median 252 1427 mean 3412.995 3169.436 tcp.time_relative min 0 0 max 682.309 724.413 median 0.996 347.839 mean 19.859 348.604 tcp.time_delta min 0 0 max 92.08 10.496 median 0.00015 0.00014 mean 0.792 0.0054 frame.time_relative min 1.227 0 max 726.35 724.413 median 298.266 347.839 mean 356.499 348.604 frame.len min 54 60 max 60 60 median 60 60 mean 59.910 60 Tamaño de ventana TCP: el tamaño de ventana TCP («tcp.window_size») es un anuncio de cuántos datos (en bytes) el dispositivo receptor está dispuesto a recibir. El receptor puede utilizar este valor para controlar el flujo de datos o como un mecanismo de congestión. En la red TOR, toda la capa de aplicación está encapsulada en celdas del mismo tamaño y enrutada a través de circuitos virtuales asegurados criptográficamente [73]. En la literatura se reporta que en TOR el valor de window size es constante [73]. Esto porque 24 a menudo hay varios circuitos TOR que son multiplexados a través de la misma conexión TCP [74]. Este tamaño fijo de window size está documentado como un factor importante en el desempeño de TOR y una posible mejora [75]. Nuestros resultados demostraron este comportamiento. En la figura 9 se muestra muy poca superposición entre los valores de «tcp.window_size» entre TOR y NoTor. Características de tiempo: existen varias razones conocidas de por qué el tráfico TOR pasa por ciertos retrasos tales como los saltos adicionales entre la fuente, el destino y proxies intermedios [76], [77]. Como consecuencia, las características como tcp.time_relative y tcp.time_delta muestran comportamientos diferentes en nuestro conjunto de datos cuan- do se utiliza TOR, aún cuando el script que origina las solicitudes es el mismo. Nuestro clasificador es capaz de identificar estas diferencias. Una vez más en la figura 9 se muestra poca superposición en los valores de tcp.time_relative y tcp.time_delta entre TOR y No- Tor. Por tanto, nuestro clasificador es capaz de utilizar esta característica para identificar el tráfico TOR. Figura 9: Distribución de variables en el conjunto de datos Tamaño de los paquetes: tal y como se muestra en la figura 8, a pesar que las variables «frame.len» e «ip.len» no son usadas por C5.0 en la clasificación y no figuran entre las más importantes para Bosque Aleatorio, creemos que es importante mencionar que el tamaño de los paquetes de red está documentado en la literatura como un factor importante que diferencia el tráfico TOR. En [78] se explica el diseño original de TOR en el cual se eligió utilizar celdas de un tamaño fijo de 512 bytes en la comunicación entre los nodos. Estas celdas consisten en un encabezado y datos (payload). En [79] se menciona que el tamaño de los paquetes por defecto en la red TOR es de 586 bytes, este paquete incluye los 512 bytes mencionados anteriormente más encabezados relacionados a 25 TLS, TCP e IP. La discusión de cómo TOR puede modificar la conformación del tráfico para ocultarse mejor de técnicas de detección es bastante antigua. Sin embargo, nuestros resultados demuestran que la variabilidad en la longitud de la trama de paquetes TOR es muy pequeña. Por lo tanto clasificadores modernos como C5.0 y bosque aleatorio puede reconocer al tráfico TOR con alta exactitud. A continuación describiremos las conclusiones que alcanzamos como resultado de este trabajo. 26 Capítulo 6: Conclusiones En este trabajo se presentó el resultado de nuestra investigación sobre la clasificación de tráfico de red TOR mediante dos algoritmos basados en árboles de decisión. Ambos algoritmos presentaron una exactitud en la clasificación por encima del 99%, esta y otras métricas fueron expuestos en la sección 5.1. En la sección 5.2, se elaboró un análisis de las variables predictoras más importantes que participaron en la clasificación del tráfico para ambos clasificadores. Este análisis fue posible gracias al uso de modelos de caja blanca de los cuales pudimos extraer de forma muy sencilla este tipo de información y así generar conocimiento de las características del tráfico que hacen que este puede ser fácilmente identificado. Hemos podido concluir que el tamaño de la ventana TCP así como las variables de tiempo mencionadas anteriormente, permiten identificar de manera exacta y eficiente el tráfico de red TOR. Este análisis representa nuestra mayor contribución con respecto a nuestra revisión de trabajo relacionado. Este trabajo es una prueba de concepto dado que el conjunto de datos fue generado con el propósito de esta investigación y no es generalizado. Nuestro modelo de clasificación puede ser incorporado en una arquitectura de red para detectar este tipo de tráfico y poder tomar algún tipo de acción decidida por el administra- dor de red. Las conclusiones alcanzadas en esta investigación en cuanto a las características del tráfico TOR pueden ser incorporadas en una red convencional a nivel de firewall o en una Red Definida por Software (SDN) en la cual el administrador puede establecer reglas en el controlador que permitan detectar, filtrar o bloquear cualquier paquete que coincida con estas características. Adicionalmente se podría incorporar un API en R utilizando la librería Plumber [80] para clasificar un paquete mediante alguno de los modelos construi- dos. Como se mencionó, el conocimiento generado a partir de nuestra investigación podrá ser utilizado por quienes estén interesados en establecer mecanismos de control y detección de tráfico TOR mediante el establecimiento de políticas de red. La implementación de una arquitectura de red SDN en la que se pueda realizar una configuración del controlador para 27 probar y documentar el funcionamiento de un sistema de monitoreo y detección es un ob- jetivo que nos gustaría cubrir en un futuro para complementar el conocimiento obtenido a partir de esta investigación. Habiendo obtenido el conocimiento de los modelos caja blanca utilizados en esta investigación, sería útil comparar el desempeño de otros clasificadores tales como SVM utilizando nuestro conjunto de datos. Realizar un experimento en una red más grande o bien combinar nuestro conjunto de datos con algún otro para entender mejor su desempeño. Los conjuntos de datos publicados en internet por otros autores no contienen las características que fueron utilizados en nuestra investigación por lo que no resultó posible realizar algún tipo de comparación con nuestros resultados. Este trabajo nace del laboratorio del curso de aprendizaje automático aplicado a redes (PF3326). 28 Capítulo 7: Bibliografía [1] A. Montieri, D. Ciuonzo, G. Aceto y A. Pescape, «Anonymity Services Tor, I2P, JonDonym: Classifying in the Dark (Web),» IEEE Transactions on Dependable and Secure Computing, vol. 17, n.o 3, págs. 662-675, 2020, issn: 19410018. doi: 10.1109/ TDSC.2018.2804394. [2] (2020). «The Tor Project: Privacy & Freedom Online,» dirección: https://www. torproject.org/. [3] R. Koch, M. Golling y G. D. Rodosek, «How anonymous is the Tor network? A long-term black-box investigation,» Computer, vol. 49, n.o 3, págs. 42-49, 2016. [4] FBI. (nov. de 2014). «More Than 400 .Onion Addresses, Including Dozens of ‘Dark Market’ Sites, Targeted as Part of Global Enforcement Action on Tor Network,» dirección: https://www.fbi.gov/news/pressrel/press-releases/more-than- 400-.onion-addresses-including-dozens-of-dark-market-sites-targeted- as-part-of-global-enforcement-action-on-tor-network. [5] IBM. (2015). «IBMX-Force Threat Intelligence Quarterly,3Q 2015,» dirección: https: //cryptome.org/2015/08/ibm-stop-tor.pdf. [6] (Jul. de 2020). «CISA,» dirección: https://us-cert.cisa.gov/sites/default/ files/publications/AA20-183A_Defending_Against_Malicious_Cyber_Activity_ Originating_from_Tor_S508C.pdf. [7] P. Velan, M. Cerm y P. Celeda, «A Survey of Methods for Encrypted Traffic Classi- fication and Analysis,» págs. 1-24, 2014. doi: 10.1002/nem. [8] E. Kenneally y M. Bailey, «Cyber-security research ethics dialogue & strategy workshop,» ACM SIGCOMM Computer Communication Review, vol. 44, n.o 2, págs. 76-79, 2014. [9] O. Loyola-Gonzalez, «Black-box vs. White-Box: Understanding their advantages and weaknesses from a practical point of view,» IEEE Access, vol. 7, págs. 154 096-154 113, 2019, issn: 21693536. doi: 10.1109/ACCESS.2019.2949286. https://doi.org/10.1109/TDSC.2018.2804394 https://doi.org/10.1109/TDSC.2018.2804394 https://www.torproject.org/ https://www.torproject.org/ https://www.fbi.gov/news/pressrel/press-releases/more-than-400-.onion-addresses-including-dozens-of-dark-market-sites-targeted-as-part-of-global-enforcement-action-on-tor-network https://www.fbi.gov/news/pressrel/press-releases/more-than-400-.onion-addresses-including-dozens-of-dark-market-sites-targeted-as-part-of-global-enforcement-action-on-tor-network https://www.fbi.gov/news/pressrel/press-releases/more-than-400-.onion-addresses-including-dozens-of-dark-market-sites-targeted-as-part-of-global-enforcement-action-on-tor-network https://cryptome.org/2015/08/ibm-stop-tor.pdf https://cryptome.org/2015/08/ibm-stop-tor.pdf https://us-cert.cisa.gov/sites/default/files/publications/AA20-183A_Defending_Against_Malicious_Cyber_Activity_Originating_from_Tor_S508C.pdf https://us-cert.cisa.gov/sites/default/files/publications/AA20-183A_Defending_Against_Malicious_Cyber_Activity_Originating_from_Tor_S508C.pdf https://us-cert.cisa.gov/sites/default/files/publications/AA20-183A_Defending_Against_Malicious_Cyber_Activity_Originating_from_Tor_S508C.pdf https://doi.org/10.1002/nem https://doi.org/10.1109/ACCESS.2019.2949286 29 [10] (2019). «Risks Associated to Using Tor inside a Business Network.» Accessed on Dec 13 2019, dirección: https://www.hitachi-systems-security.com/blog/risks- associated-to-using-tor-inside-a-business-network/. [11] D. Martens, B. Baesens, T. V. Gestel y J. Vanthienen, «Comprehensible Credit Scoring Models Using Rule Extraction From Support Vector Machines Credit Risk Modelling , Group Risk Management , Dexia Group,» Decision Sciences, págs. 1-21, [12] P. Calvo, A. Lara y J. Guevara, «Classifying and Understanding Tor Traffic Using Tree-based Models, IEEE Latin-America Conference on Communications (LATIN- COM),» 2020. [13] H. Tahaei, F. Afifi, A. Asemi, F. Zaki y N. B. Anuar, «The rise of traffic classification in IoT networks: A survey,» Journal of Network and Computer Applications, vol. 154, n.o January, pág. 102 538, 2020, issn: 10958592. doi: 10.1016/j.jnca.2020.102538. dirección: https://doi.org/10.1016/j.jnca.2020.102538. [14] M. A. I. M. Aminuddin, Z. F. Zaaba, M. K. M. Singh y D. S. M. Singh, «A survey on tor encrypted traffic monitoring,» International Journal of Advanced Computer Science and Applications, vol. 9, n.o 8, págs. 113-120, 2018, issn: 21565570. doi: 10.14569/ijacsa.2018.090815. [15] K. Shahbar y A. N. Zincir-heywood, «Benchmarking Two Techniques for Tor Clas- sification,» 2014 IEEE Symposium on Computational Intelligence in Cyber Security (CICS), págs. 1-8, 2014. doi: 10.1109/CICYBS.2014.7013368. [16] M. H. M. Soleimani, M. Mansoorizadeh y M. Nassiri, «Real-time identification of three Tor pluggable transports using machine learning techniques,» Journal of Su- percomputing, 2018, issn: 15730484. doi: 10.1007/s11227-018-2268-y. [17] J. Kampeas, A. Cohen y O. Gurewitz, «Traffic Classification Based on Zero-Length Packets,» IEEE Transactions on Network and Service Management, 2018, issn: 19324537. doi: 10.1109/TNSM.2018.2825881. [18] A. Almubayed, A. Hadi y J. Atoum, «A Model for Detecting Tor Encrypted Traffic using Supervised Machine Learning,» International Journal of Computer Network and Information Security, vol. 7, n.o 7, págs. 10-23, 2015, issn: 20749090. doi: 10. 5815/ijcnis.2015.07.02. https://www.hitachi-systems-security.com/blog/risks-associated-to-using-tor-inside-a-business-network/ https://www.hitachi-systems-security.com/blog/risks-associated-to-using-tor-inside-a-business-network/ https://doi.org/10.1016/j.jnca.2020.102538 https://doi.org/10.1016/j.jnca.2020.102538 https://doi.org/10.14569/ijacsa.2018.090815 https://doi.org/10.1109/CICYBS.2014.7013368 https://doi.org/10.1007/s11227-018-2268-y https://doi.org/10.1109/TNSM.2018.2825881 https://doi.org/10.5815/ijcnis.2015.07.02 https://doi.org/10.5815/ijcnis.2015.07.02 30 [19] A. Cuzzocrea, F. Martinelli, F. Mercaldo y G. Vercelli, «Tor traffic analysis and detection via machine learning techniques,» en Proceedings - 2017 IEEE International Conference on Big Data, Big Data 2017, 2017, isbn: 9781538627143. doi: 10.1109/ BigData.2017.8258487. [20] M. AlSabah, K. Bauer e I. Goldberg, «Enhancing Tor’s performance using real- time traffic classification,» Proceedings of the ACM Conference on Computer and Communications Security, págs. 73-84, 2012, issn: 15437221. doi: 10.1145/2382196. 2382208. [21] L. Jia, Y. Liu, B. Wang, H. Liu y G. Xin, «A hierarchical classification approach for tor anonymous traffic,» en 2017 9th IEEE International Conference on Com- munication Software and Networks, ICCSN 2017, 2017, isbn: 9781509038220. doi: 10.1109/ICCSN.2017.8230113. [22] Z. Fan y R. Liu, «Investigation of machine learning based network traffic classifica- tion,» en Proceedings of the International Symposium on Wireless Communication Systems, 2017, isbn: 9781538629130. doi: 10.1109/ISWCS.2017.8108090. [23] J. Cao, Z. Fang, G. Qu, H. Sun y D. Zhang, «An accurate traffic classification model based on support vector machines,» International Journal of Network Management, 2017, issn: 10991190. doi: 10.1002/nem.1962. [24] G. Sun, T. Chen, Y. Su y C. Li, «Internet Traffic Classification Based on Incremental Support Vector Machines,» Mobile Networks and Applications, 2018, issn: 15728153. doi: 10.1007/s11036-018-0999-x. [25] G. He, M. Yang, J. Luo y X. Gu, «A novel application classification attack against Tor,» Concurrency Computation, vol. 27, n.o 18, págs. 5640-5661, 2015, issn: 15320634. doi: 10.1002/cpe.3593. [26] Y. Fu, H. Xiong, X. Lu, J. Yang y C. Chen, «Service Usage Classification with Encrypted Internet Traffic in Mobile Messaging Apps,» IEEE Transactions on Mobile Computing, 2016, issn: 15361233. doi: 10.1109/TMC.2016.2516020. [27] M. Shen, M. Wei, L. Zhu y M. Wang, «Classification of Encrypted Traffic with Second-Order Markov Chains and Application Attribute Bigrams,» IEEE Transac- tions on Information Forensics and Security, 2017, issn: 15566013. doi: 10.1109/ TIFS.2017.2692682. https://doi.org/10.1109/BigData.2017.8258487 https://doi.org/10.1109/BigData.2017.8258487 https://doi.org/10.1145/2382196.2382208 https://doi.org/10.1145/2382196.2382208 https://doi.org/10.1109/ICCSN.2017.8230113 https://doi.org/10.1109/ISWCS.2017.8108090 https://doi.org/10.1002/nem.1962 https://doi.org/10.1007/s11036-018-0999-x https://doi.org/10.1002/cpe.3593 https://doi.org/10.1109/TMC.2016.2516020 https://doi.org/10.1109/TIFS.2017.2692682 https://doi.org/10.1109/TIFS.2017.2692682 31 [28] S. B. Kotsiantis, «Decision trees: a recent overview,» English, The Artificial Inte- lligence Review, vol. 39, n.o 4, págs. 261-283, abr. de 2013, Copyright - Springer Science+Business Media Dordrecht 2013; Última actualización - 2021-09-10. [29] B. Lantz, Machine Learning with R, ép. Community experience distilled. Packt Pu- blishing, 2013, isbn: 9781782162155. [30] M. Kuhn y K. Johnson, Applied Predictive Modeling with Applications in R. 2013, vol. 26, pág. 615, isbn: 9781461468486. dirección: http://appliedpredictivemodeling. com/s/Applied_Predictive_Modeling_in_R.pdf. [31] C. Kingsford y S. L. Salzberg, «What are decision trees?.,» Nature biotechnology, vol. 26, n.o 9, págs. 1011-1013, 2008, issn: 1546-1696. [32] M. Z. Abedin, M. K. Hassan, P. Hajek y M. M. Uddin, The Essentials of Machine Learning in Finance and Accounting. Routledge, 2021. [33] V. Podgorelec, P. Kokol, B. Stiglic e I. Rozman, «Decision trees: an overview and their use in medicine.,» Journal of medical systems, vol. 26, n.o 5, págs. 445-463, 2002, issn: 0148-5598. [34] J. R. Quinlan, «Induction of decision trees,»Machine Learning, vol. 1, n.o 1, págs. 81-106, 1986, issn: 0885-6125. doi: 10.1007/bf00116251. [35] L. Breiman, J. Friedman, R. Olshen y C. Stone, Classification And Regression Trees. oct. de 1984, págs. 1-358, isbn: 9781315139470. doi: 10.1201/9781315139470. [36] J. R. Quinlan, C4.5: Programs for Machine Learning. 1988, isbn: 1558602380. [37] J. Shafer, M. Mehta, R. Agrawal y S. Jose, «SPRINT: A Scalable Parallel Classifier for Data Mining,» Extending Database Technology, págs. 544-555, 1996. [38] M. Mehta, R. Agrawal y J. Rissanen, «SLIQ: A fast scalable classifier for data mi- ning,» Lecture Notes in Computer Science (including subseries Lecture Notes in Arti- ficial Intelligence and Lecture Notes in Bioinformatics), vol. 1057 LNCS, págs. 18-32, 1996, issn: 16113349. doi: 10.1007/bfb0014141. [39] E. Kahya-Özyirmidokuz, A. Gezer y C. Ciflikli, «Characterization of Network Traffic Data: A Data Preprocessing and Data Mining Application,» International Conference on Data Analytics, n.o c, págs. 18-23, 2012. http://appliedpredictivemodeling.com/s/Applied_Predictive_Modeling_in_R.pdf http://appliedpredictivemodeling.com/s/Applied_Predictive_Modeling_in_R.pdf https://doi.org/10.1007/bf00116251 https://doi.org/10.1201/9781315139470 https://doi.org/10.1007/bfb0014141 32 [40] M. Suknovic, B. Delibasic, M. Jovanovic, M. Vukicevic, D. Becejski-vujaklija y Z. Obradovic, «Reusable components in decision tree induction algorithms,» English, Computational Statistics, vol. 27, n.o 1, págs. 127-148, mar. de 2012, Copyright - Springer-Verlag 2012; Última actualización - 2021-09-11. [41] L. Breiman, «Random Forests,» vol. 45, págs. 5-32, 2001. [42] R. Genuer, J.-M. Poggi y C. Tuleau-Malot, «Variable selection using random forests,» Pattern Recognition Letters, vol. 31, n.o 14, págs. 2225-2236, 2010, issn: 0167-8655. doi: https://doi.org/10.1016/j.patrec.2010.03.014. [43] C. Chen y L. Breiman, «Using Random Forest to Learn Imbalanced Data,» University of California, Berkeley, ene. de 2004. [44] T. Miller, Explanation in Artificial Intelligence: Insights from the Social Sciences, 2018. arXiv: 1706.07269 [cs.AI]. [45] B. Boehmke y B. Greenwell, «Interpretable Machine Learning,» Hands-On Machine Learning with R, págs. 305-342, 2020. doi: 10.1201/9780367816377-16. [46] F. Doshi-Velez y B. Kim, Towards A Rigorous Science of Interpretable Machine Learning, 2017. [47] E. Pintelas, I. E. Livieris y P. Pintelas, «A Grey-Box Ensemble Model Exploiting Black-Box Accuracy and White-Box Intrinsic Interpretability,» Algorithms, vol. 13, n.o 1, 2020, issn: 1999-4893. doi: 10.3390/a13010017. dirección: https://www. mdpi.com/1999-4893/13/1/17. [48] (2020). «The Tor Project | History,» dirección: https://www.torproject.org/ about/history/. [49] R. Dingledine, N. Mathewson y P. Syverson, «Tor : The Second-Generation Onion Router,» [50] D. Mccoy, K. Bauer, D. Grunwald, T. Kohno y D. Sicker, «Shining Light in Dark Places : Understanding the Tor Network,» [51] R. Jansen, K. Bauer, N. Hopper y R. Dingledine, «Methodically modeling the ToR network,» 5th Workshop on Cyber Security Experimentation and Test, CSET 2012, 2012. [52] D. Hutchison, T. Kanade y J. Kittler, Lecture Notes in Computer Science / Security and Cryptology. 2010, isbn: 9783642149917. https://doi.org/https://doi.org/10.1016/j.patrec.2010.03.014 https://arxiv.org/abs/1706.07269 https://doi.org/10.1201/9780367816377-16 https://doi.org/10.3390/a13010017 https://www.mdpi.com/1999-4893/13/1/17 https://www.mdpi.com/1999-4893/13/1/17 https://www.torproject.org/about/history/ https://www.torproject.org/about/history/ 33 [53] A. Childs, Simple live TaZmen Sniffer Protocol (TZSP) to pcap converter, https: //github.com/thefloweringash/tzsp2pcap, 2018. [54] M. Galar, A. Fernandez, E. Barrenechea, H. Bustince y F. Herrera, A review on ensembles for the class imbalance problem: Bagging-, boosting-, and hybrid-based ap- proaches, 2012. doi: 10.1109/TSMCC.2011.2161285. [55] X. Guo, Y. Yin, C. Dong, G. Yang y G. Zhou, «On the class imbalance problem,» Proceedings - 4th International Conference on Natural Computation, ICNC 2008, vol. 4, págs. 192-201, 2008. doi: 10.1109/ICNC.2008.871. [56] (2020). «Headless Chrome Node.js API,» dirección: https://github.com/puppeteer/ puppeteer. [57] (2020). «Script Puppeteer,» dirección: https://git.ucr.ac.cr/PAULO.CALVO/tor- traffic-classification/-/tree/master/puppeteer_script. [58] R Core Team, R: A Language and Environment for Statistical Computing, R Foun- dation for Statistical Computing, Vienna, Austria, 2021. dirección: https://www.R- project.org/. [59] H. Wickham, M. Averick, J. Bryan, W. Chang, L. D. McGowan, R. François, G. Grolemund, A. Hayes, L. Henry, J. Hester, M. Kuhn, T. L. Pedersen, E. Miller, S. M. Bache, K. Müller, J. Ooms, D. Robinson, D. P. Seidel, V. Spinu, K. Takahashi, D. Vaughan, C. Wilke, K. Woo y H. Yutani, «Welcome to the tidyverse,» Journal of Open Source Software, vol. 4, n.o 43, pág. 1686, 2019. doi: 10.21105/joss.01686. [60] (2020). «C5.0 Classification Models,» dirección: https://topepo.github.io/C5.0/ articles/C5.0.html. [61] A. Liaw y M. Wiener, «Classification and Regression by randomForest,» R News, vol. 2, n.o 3, págs. 18-22, 2002. dirección: https://CRAN.R-project.org/doc/ Rnews/. [62] V. A. S. Hernández, R. Monroy, M. A. Medina-Pérez, O. Loyola-González y F. He- rrera, «A Practical Tutorial for Decision Tree Induction,» ACM Computing Surveys, vol. 54, n.o 1, 2021, issn: 15577341. doi: 10.1145/3429739. [63] K. M. Osei-Bryson, «Evaluation of decision trees: A multi-criteria approach,» Com- puters and Operations Research, vol. 31, n.o 11, págs. 1933-1945, 2004, issn: 03050548. doi: 10.1016/S0305-0548(03)00156-4. https://github.com/thefloweringash/tzsp2pcap https://github.com/thefloweringash/tzsp2pcap https://doi.org/10.1109/TSMCC.2011.2161285 https://doi.org/10.1109/ICNC.2008.871 https://github.com/puppeteer/puppeteer https://github.com/puppeteer/puppeteer https://git.ucr.ac.cr/PAULO.CALVO/tor-traffic-classification/-/tree/master/puppeteer_script https://git.ucr.ac.cr/PAULO.CALVO/tor-traffic-classification/-/tree/master/puppeteer_script https://www.R-project.org/ https://www.R-project.org/ https://doi.org/10.21105/joss.01686 https://topepo.github.io/C5.0/articles/C5.0.html https://topepo.github.io/C5.0/articles/C5.0.html https://CRAN.R-project.org/doc/Rnews/ https://CRAN.R-project.org/doc/Rnews/ https://doi.org/10.1145/3429739 https://doi.org/10.1016/S0305-0548(03)00156-4 34 [64] F. Esposito, D. Malerba, G. Semeraro y J. Kay, «A comparative analysis of methods for pruning decision trees,» IEEE Transactions on Pattern Analysis and Machine Intelligence, vol. 19, n.o 5, págs. 476-491, 1997. doi: 10.1109/34.589207. [65] M. Jiawei Han y J. Pei, Data mining: concepts and techniques: concepts and techni- ques, 2011. [66] G. Canbek, T. T. Temizel, S. Sagiroglu y N. Baykal, «Binary classification perfor- mance measures/metrics: A comprehensive visualized roadmap to gain new insights,» 2nd International Conference on Computer Science and Engineering, UBMK 2017, págs. 821-826, 2017. doi: 10.1109/UBMK.2017.8093539. [67] S. J. Kazemitabar, A. A. Amini, A. Bloniarz y A. Talwalkar, «Variable importance using decision trees,» Advances in Neural Information Processing Systems, vol. 2017- December, n.o Nips, págs. 426-435, 2017, issn: 10495258. [68] (2020). «Variable Importance Measures for C5.0 Models,» dirección: https : / / topepo.github.io/C5.0/reference/C5imp.html. [69] (2020). «importance function | R documentation,» dirección: https://www.rdocumentation. org/packages/randomForest/versions/4.6-14/topics/importance. [70] A. Tharwat, «Classification assessment methods,» Applied Computing and Informa- tics, vol. 17, n.o 1, págs. 168-192, 2018, issn: 22108327. doi: 10.1016/j.aci.2018. 08.003. dirección: https://doi.org/10.1016/j.aci.2018.08.003. [71] D. G. Altman y J. M. Bland, «Statistics Notes: Diagnostic tests 1: sensitivity and specificity,» BMJ, vol. 308, n.o 6943, pág. 1552, 1994, issn: 0959-8138. doi: 10. 1136/bmj.308.6943.1552. eprint: https://www.bmj.com/content/308/6943/ 1552.full.pdf. dirección: https://www.bmj.com/content/308/6943/1552. [72] D. R. Velez, B. C. White, A. A. Motsinger, W. S. Bush, M. D. Ritchie, S. M. Williams y J. H. Moore, «A balanced accuracy function for epistasis modeling in imbalan- ced datasets using multifactor dimensionality reduction,» eng, Genetic epidemiology, vol. 31, n.o 4, págs. 306-315, 2007, issn: 0741-0395. [73] F. Tschorsch y B. Scheuermann, «Mind the Gap: Towards a Backpressure-Based Transport Protocol for the Tor Network,» 13th USENIX Symposium on Networ- ked Systems Design and Implementation (NSDI 16), págs. 597-610, 2016. direc- ción: https : / / www . usenix . org / conference / nsdi16 / technical - sessions / presentation/tschorsch. https://doi.org/10.1109/34.589207 https://doi.org/10.1109/UBMK.2017.8093539 https://topepo.github.io/C5.0/reference/C5imp.html https://topepo.github.io/C5.0/reference/C5imp.html https://www.rdocumentation.org/packages/randomForest/versions/4.6-14/topics/importance https://www.rdocumentation.org/packages/randomForest/versions/4.6-14/topics/importance https://doi.org/10.1016/j.aci.2018.08.003 https://doi.org/10.1016/j.aci.2018.08.003 https://doi.org/10.1016/j.aci.2018.08.003 https://doi.org/10.1136/bmj.308.6943.1552 https://doi.org/10.1136/bmj.308.6943.1552 https://www.bmj.com/content/308/6943/1552.full.pdf https://www.bmj.com/content/308/6943/1552.full.pdf https://www.bmj.com/content/308/6943/1552 https://www.usenix.org/conference/nsdi16/technical-sessions/presentation/tschorsch https://www.usenix.org/conference/nsdi16/technical-sessions/presentation/tschorsch 35 [74] S. Fischer-Hübner y N. Hopper, Privacy Enhancing Technologies: 11th Internatio- nal Symposium, PETS 2011, Waterloo, ON, Canada, July 27-29, 2011, Proceedings, ép. LNCS sublibrary: Security and cryptology. Springer, 2011, isbn: 9783642222627. [75] R. Dingledine y S. J. Murdoch, «Performance Improvements on Tor or , Why Tor is slow and what we ’ re going to do about it,» págs. 1-27, 2009. [76] J. Reardon, «Improving Tor using a TCP-over-DTLS Tunnel,» Transport, págs. 1-123, 2008. [77] D. Maltz y P. Bhagwat, «TCP Splicing for Application Layer Proxy Performance,» Journal of High Speed Networks, vol. 8, sep. de 1998. [78] R. Dingledine, N. Mathewson y P. Syverson, Tor: The Second-Generation Onion Router, 2004. dirección: https://svn-archive.torproject.org/svn/projects/ design-paper/tor-design.html. [79] G. Kadianakis, «Packet size pluggable transport and traffic morphing,» Technická Zpráva, págs. 03-004, 2012. [80] B. Schloerke y J. Allen, plumber: An API Generator for R, https://www.rplumber.io, https://github.com/rstudio/plumber, 2022. https://svn-archive.torproject.org/svn/projects/design-paper/tor-design.html https://svn-archive.torproject.org/svn/projects/design-paper/tor-design.html Agradecimientos Hoja de aprobación Lista de tablas Lista de figuras Lista de abreviaturas Introducción Alcance Problema Pregunta de investigación Objetivos Objetivo general Objetivos específicos Justificación Estructura del documento Estado del Arte Técnicas manuales Técnicas que utilizan ML Marco Conceptual Árboles de decisión y Bosque Aleatorio Árboles de decisión Bosque Aleatorio Modelos caja blanca y caja negra Tor Metodología Revisión de literatura (Objetivo específico 1) Implementación del clasificador (Objetivo específico 2) Generación de tráfico Construcción del clasificador Evaluación y análisis de las variables de mayor importancia (Objetivo específico 3) Resultados Resultados de la clasificación Análisis de importancia de variables Análisis de las características de tráfico Conclusiones Bibliografía 2022-09-29T17:45:23-0600 2022-09-30T05:41:34-0600 2022-09-30T10:15:40-0600 GABRIELA MARIN RAVENTOS (FIRMA) 2022-10-12T17:30:30-0600 2022-10-21T02:08:34-0400 2022-10-21T09:39:13-0600 PAULO CESAR CALVO VARGAS (FIRMA) 2022-10-21T09:41:19-0600 PAULO CESAR CALVO VARGAS (FIRMA)