Estudio exploratorio de la capacidad de discriminaci´on de tráfico
Transcripción
Estudio exploratorio de la capacidad de discriminaci´on de tráfico
X Jornadas de Ingeniería Telemática - JITEL 2011 Estudio exploratorio de la capacidad de discriminación de tráfico P2P usando reglas de similitud entre flujos José Camacho, Pablo Padilla, F. Javier Salcedo-Campos, Pedro Garcı́a-Teodoro, Jesús Dı́az-Verdejo Teorı́a de la Señal, Telemática y Comunicaciones, Universidad de Granada, C/ Periodista Daniel Saucedo Aranda s/n 18071 GRANADA (Spain). [email protected], [email protected], [email protected], [email protected], [email protected] Resumen—Existe un claro interés en la clasificación de tráfico en red sin acceder a la información contenida en el payload de los paquetes. En particular, resulta especialmente relevante la identificación del tráfico peer-to-peer (P2P) circulante en una red. El presente artı́culo evalúa la aplicabilidad de reglas de similitud entre flujos de datos para la clasificación de tráfico, con especial énfasis en la distinción entre el tráfico P2P del que no lo es. En concreto, el trabajo se centra en evaluar los parámetros que permiten crear parejas de flujos asociados a un mismo protocolo. Este trabajo es un paso previo necesario para identificar relaciones entre flujos de cara a la clasificación de tráfico. Palabras Clave—Clasificación de tráfico, peer-to-peer, KNearest Neighbors I. I NTRODUCCI ÓN La creciente popularidad y expansión de las redes y aplicaciones peer-to-peer (P2P) han dado paso paralelamente a la aparición de cuestiones relacionadas con la ingenierı́a del tráfico y la seguridad. Por un lado, los proveedores de Internet se ven perjudicados por el uso intensivo de los recursos de red que implican las actividades P2P, debiendo manejar este gran volumen de tráfico con el mı́nimo impacto posible para el resto de los servicios de red. Por otra parte, la capacidad de comunicación e intercambio de cualquier tipo de información entre los llamados pares (peers en inglés), la mayorı́a de ellos anónimos, representa un riesgo de seguridad. Este riesgo afecta en primer lugar a los usuarios, puesto que la información que se intercambia podrı́a contener virus, gusanos y malware en general. Existe, además, un riesgo desde el punto de vista de la infraestructura de las redes, pues las aplicaciones P2P pueden ser utilizadas coordinadamente para apoyar otras actividades perjudiciales como ataques DoS, botnets, etc. En este contexto, queda patente la necesidad de diferenciar el tráfico P2P de cualquier otro tipo de tráfico. Este problema de identificación del tráfico P2P forma parte de uno más general relativo a la identificación del tráfico de red [1]. Existen tres problemas principales que se plantean en la identificación del tráfico en una red: 1) Parametrización del tráfico: Son numerosas las caracterı́sticas y agrupaciones de éstas que se han propuesto en la literatura para representar y clasificar el tráfico de red. De este modo, la información utilizada comprende desde datos estadı́sticos de las conexiones a partir de informes de routers SNMP [2] (baja granularidad) hasta datos extraı́dos de cabeceras TCP, incluyendo los bits de señalización y los primeros bytes del payload (alta granularidad) [3]. 2) Nivel de identificación: Una vez que el tráfico ha sido parametrizado, en la literatura se consideran tres niveles para llevar a cabo la identificación [4], [1]: identificación basada en nodo, basada en flujo y basada en paquetes. En el primer caso, el objetivo es detectar los nodos que generan un determinado tipo de tráfico [5]. En el caso basado en flujo, el objetivo es clasificar a cada flujo por el protocolo de nivel de aplicación que lo produce. Por último, en el basado en paquetes el objetivo es clasificar cada paquete individualmente. 3) Proceso de identificación: Por último, los sistemas utilizados para llevar a cabo la identificación en sı́ cubren una amplia variedad de técnicas. Desde heurı́sticas o mediante firmas [6], [1], [7] hasta minerı́a de datos o algoritmos de reconocimiento de patrones [8], [4]. Concretando en la identificación de flujos P2P, de entre las numerosas técnicas que se han utilizado en esa tarea, destaca la clasificación mediante la distancia con los vecinos más próximos o KNN (del inglés K-Nearest Neighbors) gracias a su simplicidad y la alta tasa de reconocimiento que consigue. En este sentido destacan los trabajos de Jun [9] y Lim [10]. En el primer caso se realiza una comparación entre diferentes técnicas, como Naı̈ve Bayes, árboles de decisión y otros métodos, incluyendo los KNN, para clasificar 12 tipos de protocolos de aplicación diferentes, entre los que se encuentran protocolos P2P (Bittorrent y Gnutella) y no P2P (HTTP, DNS, POP3, etc.). Los resultados muestran que los KNN son la mejor técnica en términos de tasa de precisión. En el segundo trabajo [10] se propone una discretización de los parámetros estándar que se extraen de los flujos (puertos, tamaños de los paquetes, número de paquetes, duración del flujo, etc.), y se evalúan 4 técnicas de clasificación: support vector machines (SVM), KNN, Naı̈ve Bayes y árboles de decisión. Los resultados indican que KNN obtiene resultados similares a la mejor técnica cuando se aplica el método de discretización propuesto, con sólo alrededor de un 2% de precisión inferior a SVM, que consigue una tasa de precisión del 98%. El presente artı́culo realiza, en una primera parte, un estudio exploratorio para confirmar el buen rendimiento de KNN en la ISBN: 978-84-694-5948-5 252 X Jornadas de Ingeniería Telemática - JITEL 2011 identificación de flujos P2P e investigar las causas que llevan a dicho resultado. Los resultados obtenidos sugieren la propuesta de un nuevo nivel de identificación en la clasificación de tráfico que no ha sido considerado previamente en la literatura: la clasificación basada en relaciones entre flujos. La segunda parte del trabajo se centra en el estudio de la viabilidad de la identificación de flujos pertenecientes a un mismo protocolo, siendo éste un paso previo necesario a la propuesta de un clasificador concreto. El artı́culo se organiza de la siguiente manera. En la Sección II se introducen los conjuntos de datos utilizados. En la Sección III, se motiva la propuesta utilizada en el análisis subsiguiente a partir de la exploración de los datos. En la Sección IV se propone un esquema paramétrico de detección de vecinos para su implementación en lı́nea y se identifican sus parámetros. La Sección V realiza la validación del modelo con datos independientes. Finalmente, en la Sección VI se presentan las conclusiones del trabajo. II. C ONJUNTOS DE DATOS DE EXPERIMENTACI ÓN A. Adquisición de las bases de datos La evaluación de métodos de identificación de tráfico requieren la disponibilidad de una base de datos con ejemplos correctamente clasificados. Esta base de datos que se utiliza como referencia para determinar la exactitud de los resultados obtenidos se denomina ”ground truth”, y debe contener suficientes datos para que sea representativa. Sin embargo, la obtención de una base de datos lo suficientemente grande con tráfico real, y además correctamente etiquetado, no es una tarea fácil, pues realizar el etiquetado manualmente no es asumible. Por lo tanto, para evaluar el sistema propuesto se ha desarrollado un dispositivo experimental construido a partir de dos componentes principales: una base de datos de tráfico real capturado en una red académica, y una herramienta para clasificar automáticamente los paquetes y flujos en función de sus cargas útiles mediante la inspección de los paquetes (Deep Packet Inspection o DPI). De esta manera, la base de datos de referencia o ”ground truth” se construye mediante el análisis y la identificación de cada flujo y cada paquete suponiendo que la herramienta escogida, en nuestro caso openDPI [11], es la mejor actualmente disponible para este propósito, y que el número de errores de clasificación en los que incurre es insignificante. Sin embargo, el número de paquetes y flujos que openDPI no es capaz de clasificar es su principal limitación. OpenDPI es una versión de domino público derivada de un producto comercial llamado PACE de Ipoque. El núcleo de openDPI es una librerı́a software diseñada para clasificar tráfico de Internet en función de los protocolos de aplicación. En [12] los autores explican que la clasificación de protocolos de aplicación basada en DPI se consigue mediante la combinación de una serie de técnicas diferentes: • Búsqueda de patrones, mediante el análisis de cadenas y patrones de bytes en cualquier parte del paquete, incluyendo el payload. De esta manera, openDPI busca firmas de protocolos conocidos. • Análisis de comportamiento, mediante la búsqueda de patrones de comportamiento conocidos de una aplicación en el tráfico observado. Los datos utilizados incluyen el tamaño absoluto y relativo de los paquetes por flujo, la tasa de paquetes, y el número de flujos y la tasa de nuevos flujos por aplicación. • El análisis estadı́stico, calculando algunos indicadores que pueden utilizarse para identificar los tipos de transmisión, como la media, la mediana y la variación de los valores utilizados en el análisis del comportamiento y la entropı́a de un flujo. Por lo tanto, openDPI no es un producto DPI puro, pues no sólo está basado en la detección de firmas de protocolos, sino que también incorpora información de otras fuentes. De esta manera, la precisión de la clasificación es mayor, aunque no es capaz de identificar algunos paquetes y flujos. Esto, junto, con la disponibilidad y la calidad de las firmas, hizo que openDPI fuera seleccionado para la generación del ”ground truth” en este trabajo. A partir de las librerı́as de openDPI, se ha diseñado una herramienta capaz de identificar los protocolos de aplicación y de seguir y diferenciar los paquetes de cada flujo. B. Descripción de las bases de datos La base de datos de tráfico obtenida contiene datos capturados durante 3 dı́as hábiles en una red universitaria. La adquisición de datos se llevó a cabo en el router de acceso con el fin de poder controlar todo el tráfico de entrada y de salida de todos los nodos. Por tanto, los flujos son capturados completamente en ambos sentidos de la comunicación. Para el presente trabajo, se han considerado dos subconjuntos de datos denominados F14 y F51, que contienen tráfico de diferentes nodos, para probar y validar el método, respectivamente. Las Tablas I y II muestran información sobre ambos conjuntos de datos. Los resultados proporcionados por la herramienta de openDPI para la base de datos considerada detectadon un total de 31 protocolos diferentes, de los cuales sólo 19 aparecen en el subconjunto F14 y 27 en el F51. Los resultados muestran que HTTP es el protocolo con mayor número de flujos, mientras que la proporción relativa de los protocolos P2P es del 12.5% de los flujos. Si bien este porcentaje en puede parecer reducido, el volumen de tráfico asociado es alto debido al tamaño de cada flujo P2P. Un análisis más detallado de los datos muestra que sólo un escaso número de nodos generan tráfico P2P, siendo importantes los protocolos de videostreaming, que contribuyen al tráfico HTTP (por ejemplo, el tráfico de Youtube). El resto de los flujos no P2P incluye sobre todo protocolos habituales, tales como DNS, SSL y protocolos de correo. La mayor parte de los flujos P2P pertenecen a BitTorrent, mientras que Gnutella y otros están presentes en menor proporción. Esta proporción de flujos puede ser consecuencia de las caracterı́sticas especı́ficas de los protocolos. La relación entre el tráfico P2P y no-P2P es similar entre ambos grupos (ver Tabla I). El conjunto F14 se utilizará para el análisis exploratorio y el ajuste del sistema, y el F51 para validar los resultados. C. Extracción de parámetros de los flujos La salida proporcionada por la herramienta desarrollada consiste en 3 listas: una con los flujos encontrados y su clasificación, otra con los paquetes y su clasificación y una tercera que relaciona los flujos y los paquetes de cada flujo. A partir de esta información, se realiza el proceso de parametrización, 253 X Jornadas de Ingeniería Telemática - JITEL 2011 Tabla I E STAD ÍSTICA B ÁSICA DEL TR ÁFICO EMPLEADO EN LOS EXPERIMENTOS . Conjunto F14 F51 Total Total 135202 193409 328611 Etiquetado 67015 45167 112182 Flujos Flujos P2P Flujos no P2P 16005 51010 9878 35289 25883 86299 Tabla II DISTRIBUCI ÓN DE FLUJOS EN PROTOCOLOS PARA EL CONJUNTO DE DATOS DE CALIBRACI ÓN (F14) Y EL CONJUNTO DE DATOS DE EVALUACI ÓN (F51). C ADA FLUJO PERTENECE ÚNICAMENTE A UN PROTOCOLO DE ACUERDO A LA CLASIFICACI ÓN REALIZADA POR OPEN DPI. protocolo No de flujos en F14 No de flujos en F51 DNS 27178 401 ICMP 980 2520 BitTorrent 15723 9362 HTTP 20057 29613 FTP 61 6 SSL 816 1960 HTTP+Flash 162 409 Mail POP 148 3 Mail SMTP 1512 0 MSN 35 112 SSL+MSN 3 6 MySQL 19 0 SSH 5 0 NETBIOS 6 39 7 Desconocidos 68187 148242 216429 y DOWN (descendente) para el sentido opuesto. Esta ordenación responde a motivos de eficiencia en el procesamiento posterior. Los valores que se han considerado en cada vector de parámetros son medidas estadı́sticas básicas relacionadas con las propiedades del flujo, la mayorı́a de ellas separadas en medidas totales, ascendentes ( UP) y descendientes ( DOWN). Los parámetros empleados son los que habitualmente se incluyen en la literatura: tamaño medio de los paquetes, medidas de tiempo y duración de los flujos, número de paquetes, etc. No obstante, se ha incluido una descripción más detallada a nivel temporal y de señalización (por ejemplo, los tiempos entre llegadas y el número de paquetes URG). En el resto del artı́culo se utilizará el término ”observación” para referirse al vector de caracterı́sticas asociado a un flujo y el término ”etiqueta” para referirse a la clase a la que pertenece. Se considerarán dos tipos de clasificación. En primer lugar, se evaluará la clasificación de los flujos atendiendo al protocolo involucrado. En segundo lugar, se agruparán los distintos flujos en dos clases: tráfico P2P y el resto de tráfico de red. El conjunto de datos F14 se utilizará para el análisis exploratorio en la Sección III y la calibración del modelo paramétrico en la Sección IV. El conjunto de datos F51 se utilizará para la validación de ese modelo, en la Sección V. NTP 1 HTTP+RealMedia 2 0 HTTP+MPEG 23 29 Gnutella 282 475 MPEG 2 16 DirectDownloadLink 0 32 Yahoo 0 11 III. M OTIVACI ÓN SIP 0 8 iMESH 0 9 En esta sección se evaluará el rendimiento de la técnica KNN en la clasificación de los flujos en el conjunto de datos F14, tomando como referencia los resultados de [9] y [10]. En segundo lugar, se realizará un análisis exploratorio para interpretar los resultados observados con KNN. Flash 0 35 HTTP+Quicktime 0 38 STUN 0 25 WindowsMedia 0 6 WindowsMedia+MPEG 0 2 A. Clasificación de tráfico con los K vecinos más cercanos IRC 0 9 SMB 0 29 Oscar 0 5 TOTAL 67015 45167 La técnica KNN, aplicada a la clasificación, usualmente identifica la etiqueta de una observación a partir de la moda en las etiquetas de los K vecinos más cercanos. Para establecer qué observaciones se corresponden con los vecinos más cercanos a una observación dada, es necesario definir una función de cercanı́a entre observaciones basada tı́picamente en la noción de distancia. Tomando como referencia experiencias previas, se utilizará la distancia Manhattan o cityblock, que mide la distancia entre dos puntos como la suma de las diferencias absolutas entre sus coordenadas. Ası́, la distancia entre los puntos x e y se corresponde con la norma L1 de su diferencia: con el que se obtiene un vector de caracterı́sticas con 62 componentes para cada flujo, como se muestra en la Tabla III. Los vectores contienen toda la la información necesaria para su tratamiento posterior, incluyendo una etiqueta de identificación del flujo (FLOW ID), el protocolo que ha detectado openDPI e información básica sobre el flujo (tupla de flujo). Las direcciones IP de cada flujo se han ordenado considerándolas como enteros (en representación de red) y, por tanto, los dos sentidos que pueden tener los paquetes se tienen en cuenta en la parametrización: UP (ascendente) indica que los paquetes van de la IP baja hacia la IP alta, d1 (x, y) = x − y1 (1) Para obtener una estimación del rendimiento de KNN en la clasificación, se utilizará una técnica de remuestreo basada en la repetición del siguiente esquema: 254 X Jornadas de Ingeniería Telemática - JITEL 2011 Tabla III C OMPONENTES DE LOS VECTORES DE PAR ÁMETROS DE CADA FLUJO . Descripción Identificación de flujos N PROT Numero de protocolos detectado Dirección IP menor el la tupla de la sesión IP LOW Dirección IP mayor el la tupla de la sesión IP UPPER PORT1 Puerto asociado a la menor IP (IP LOW) PORT2 Puerto asociado a la mayor IP (IP UPPER) Protocolo de transporte UDP PROT UDP Protocolo de transporte TCP PROT TCP ICMP PROT UNK DIR Dirección del primer paquete observado Marca de tiempo del primer paquete (μs) FIRST TIME Marca de tiempo del último paquete (μs) LAST TIME Relacionados con la transferencia NPACKETS Número de paquetes en el flujo Idem dirección hacia arriba NPACKETS UP Idem dirección hacia abajo NPACKETS DOWN Tamaño total de los paquetes intercambiados PACKETS SIZE Idem dirección hacia arriba PACKETS SIZE UP Idem dirección hacia abajo PACKETS SIZE DOWN Tamaño total de los payloads PAYLOAD SIZE Idem dirección hacia arriba PAYLOAD SIZE UP Idem dirección hacia abajo PAYLOAD SIZE DOWN Tamaño medio de los paquetes MEAN PACK SIZE Idem dirección hacia arriba MEAN PACK SIZE UP Idem dirección hacia abajo MEAN PACK SIZE DOWN Número de paquetes cortos SHORT PACKETS Idem dirección hacia arriba SHORT PACKETS UP Idem dirección hacia abajo SHORT PACKETS DOWN Número de paquetes largos LONG PACKETS Idem dirección hacia arriba LONG PACKETS UP Idem dirección hacia abajo LONG PACKETS DOWN MAXLEN Tamaño máximo de los paquetes Idem dirección hacia arriba MAXLEN UP Idem dirección hacia abajo MAXLEN DOWN MINLEN Tamaño mı́nimo de los paquetes Idem dirección hacia arriba MINLEN UP Idem dirección hacia abajo MINLEN DOWN Relacionados con el tiempo DURATION Duración del flujo (μs) Tiempo medio entre paquetes consecutivos MEAN INTERAR Idem sólo para paquetes hacia arriba MEAN INTERAR UP Idem sólo para paquetes hacia abajo MEAN INTERAR DOWN Tiempo máximo entre paquetes consecutivos MAX INTERAR Idem sólo para paquetes hacia arriba MAX INTERAR UP Idem sólo para paquetes hacia abajo MAX INTERAR DOWN Tiempo mı́nimo entre paquetes consecutivos MIN INTERAR Idem sólo para paquetes hacia arriba MIN INTERAR UP Idem sólo para paquetes hacia abajo MIN INTERAR DOWN Señalización N SIGNALING Número de paquetes con flags Idem dirección hacia arriba N SIGNALING UP Idem dirección hacia abajo N SIGNALING DOWN NACKS Número de paquetes con ACK activo NFIN Idem FIN NSYN Idem SYN NRST Idem RST NPUSH Idem PSH NURG Idem URG NECE Idem ECE NCWD Idem CWD Número de paquetes hacia arriba con ACK activo NACK UP Idem dirección hacia abajo NACK DOWN Idem FIN & UP NFIN UP Idem FIN & DOWN NFIN DOWN Idem RST & UP NRST UP Idem RST & DOWN NRST DOWN Tabla IV PAR ÁMETROS DEL AN ÁLISIS DEL RENDIMIENTO DE KNN EN LA CLASIFICACI ÓN ENTRE TR ÁFICO P2P Y EL RESTO DE TR ÁFICO . Valor i. Dividir aleatoriamente el conjunto de datos en observaciones de test y de calibración. ii. Utilizar el algoritmo KNN con la distancia cityblock para estimar el protocolo asociado a las observaciones de test. iii. Calcular el porcentaje de aciertos. La repetición de este esquema de remuestreo permite estimar con cierta precisión la media y la desviación tı́pica asociadas al número de aciertos en la clasificación basada en KNN. Los parámetros especı́ficos del análisis aparecen detallados en la Tabla IV. El procedimiento de remuestreo Parámetro Valor Número de repeticiones Tamaño del conjunto de test Distancia Número de vecinos Caracterı́sticas utilizadas 100 100 cityblock 1 Todas anterior ha sido repetido para la clasificación de los flujos de acuerdo a su protocolo (considerando por tanto 19 clases, ver Tabla II), ası́ como para la discriminación entre tráfico P2P y el resto (considerando únicamente dos clases). Tras el análisis realizado, se obtiene una media de porcentaje de aciertos en la clasificación de protocolos igual al 83.7% y una desviación tı́pica del 3.5%. En cuanto a la discriminación de tráfico P2P, se obtiene una media del 90.8% y una desviación tı́pica del 2.7%. Nótese que el presente análisis únicamente tiene por objeto evaluar el rendimiento de KNN en la clasificación del conjunto de datos considerado, y no identificar los parámetros que permiten una clasificación óptima. Aunque el porcentaje de aciertos obtenido con KNN es elevado, es coveniente comprobar que no se debe a elementos casuales y especı́ficos del conjunto de datos considerado. Nótese que el porcentaje de aciertos puede ser muy elevado cuando el número de observaciones de cada clase no está balanceado, sin necesidad de que exista una capacidad clasificatoria real. A modo de ejemplo, en el caso lı́mite, cuando sólo hay observaciones de una clase, cualquier clasificador tipo KNN ofrece un resultado del 100%. Para la comprobación, se pueden utilizar de nuevo técnicas de remuestreo, en este caso con cambio de etiquetas. Estas técnicas son conocidas en la literatura como tests de permutación (permutation tests) o de aleatorización (randomization tests) [13], [14]. El procedimiento seguido es repetir el análisis con el mismo conjunto de datos pero donde las etiquetas han sido reordenadas aleatoriamente. De esta manera, si se produce un elevado número de aciertos, éste puede considerarse consecuencia de elementos casuales, como el porcentaje de observaciones en cada clase. El resultado de KNN con los datos permutados ofrece una muestra de referencia para un test de hipótesis. El test se realiza con la hipótesis nula de que el resultado de KNN sobre los datos originales pertenece a la misma población que la muestra de referencia y, por tanto, se debe a elementos casuales. La hipótesis alternativa es que el resultado es debido a una capacidad real de clasificación del clasificador KNN. En la Figura 1 se muestra el diagrama de dispersión asociado a los tests de permutación, al estilo propuesto en [13]. En la Figura 1(a) se presenta el gráfico correspondiente a la clasificación de protocolos y en la Figura 1(b) el correspondiente a la discriminación de tráfico P2P. En las figuras, cada uno de los puntos de la izquierda se corresponde con el resultado obtenido en una permutación. Para ello, una vez que las etiquetas han sido reordenadas aleatoriamente, se repite el proceso de tres pasos especificado anteriormente para computar el número de aciertos. En las abcisas de las figuras se muestra la correlación entre el vector de etiquetas 255 X Jornadas de Ingeniería Telemática - JITEL 2011 original y el aleatorizado. Esta correlación permite evaluar hasta qué punto la aleatorización de las etiquetas ha producido una ordenación de las etiquetas muy similar a la original. Teniendo en cuenta el elevado número de observaciones, algo mayor de 67.000, es razonable obtener valores de correlación muy bajos, lo que implica que las asignaciones aleatorias de etiquetas no se corresponden con la realidad en la mayorı́a de los casos. Esto es ideal desde el punto de vista de obtener una muestra de referencia que dependa únicamente de elementos casuales. En ordenadas se presenta el porcentaje de aciertos obtenidos. Los resultados conseguidos en las permutaciones se comparan con el original, situado en el punto de correlación 1. Ambas gráficas muestran que el resultado obtenido por KNN es estadı́sticamente significativo (p-valor < 10−8 , asumiendo una distribución normal de las permutaciones). 100 % de aciertos 80 60 40 20 0 0 0.2 0.4 0.6 Correlación 0.8 1 (a) 100 % de aciertos 80 60 40 para los flujos (Tabla III) y las variables respuesta son variables indicadoras definidas según la pertenencia de los flujos a las distintas clases. Si entendemos las observaciones como puntos en un espacio M -dimensional, donde M es el número de caracterı́sticas originales, PLS-DA permite identificar el subespacio de mayor correlación con la discriminación entre clases. Las variables latentes se identifican por orden de correlación, de forma que la primera es la que presenta la mayor correlación y ası́ sucesivamente. En la Figura 2 se muestra el gráfico de dispersión de las observaciones, denominado gráfico de valores (scores plot), en el subespacio correspondiente a las variables latentes 3 (LV3) y 4 (LV4). Por simplicidad, se considera únicamente la discriminación entre tráfico P2P y no-P2P. Las primeras dos variables latentes no se muestran debido a que su mayor nivel de correlación viene más determinado por la variabilidad asociada a las caracterı́sticas originales que por la asociada a la variable respuesta. No son, por tanto, variables latentes que permitan discriminar entre las clases. Las variables latentes 3 y 4 son las de mayor capacidad discriminativa, siendo ésta baja en cualquier caso. Como se puede observar en la figura, las observaciones correspondientes a tráfico P2P aparecen en zonas donde se sitúan también observaciones no-P2P. Esto indica que no es posible determinar reglas (lineales) que permitan, a partir del valor de las caracterı́sticas, distinguir tráfico P2P. Este resultado lleva a la hipótesis de que la buena clasificación obtenida con la asociación entre vecinos no esté determinada por elementos absolutos (ej. determinados valores especı́ficos de las caracterı́sticas), sino relativos entre vecinos (similitud en caracterı́sticas). Esta hipótesis no es trivial, dado que un escenario donde la clasificación fuera motivada por elementos absolutos, por ejemplo donde las observaciones correspondientes a cada clase aparecieran agrupadas, también llevarı́a a un buen rendimiento de KNN. 4 20 0 0.2 0.4 0.6 Correlación 0.8 (b) Fig. 1. Diagrama de dispersión asociado a los test de permutación: (a) clasificación de protocolos y (b) discriminación de tráfico P2P. B. Exploración de los datos Una vez comprobado el buen rendimiento de KNN en ambas clasificaciones, es conveniente establecer las causas del mismo. Dado el elevado número de caracterı́sticas asociadas a los flujos, una técnica apropiada de exploración es la denominada mı́nimos cuadrados parciales (Partial Least Squares o PLS) en su versión discriminante (PLS-Discriminant Analysis o PLS-DA) [15], [16], [17]. PLS permite identificar unas pocas caracterı́sticas, denominadas variables latentes, que maximizan la correlación entre las caracterı́sticas originales y un número de variables respuesta. En PLS-DA, las variables respuestas son variables indicadoras (dummy), tantas como el número de clases, que toman valor igual a 1 para una de las clases y -1 para el resto. En el caso de este estudio, las caracterı́sticas originales son las 62 caracterı́sticas registradas 10 2 1 LV 4 0 x 10 0 −2 −4 −6 −1 −0.5 0 0.5 LV 3 1 1.5 2 x 10 11 Fig. 2. Gráfico de dispersión de las observaciones en el subespacio PLS-DA correspondiente a las variables latentes 2 y 3. Discriminación entre tráfico P2P (puntos) y no-P2P (cruces). Por otro lado, teniendo en cuenta el uso de la distancia cityblock en la técnica KNN, es de interés revisar la escala de las distintas variables involucradas en el análisis. Esto es ası́ debido a que la distancia cityblock se ve muy afectada por las diferencias en variabilidad entre las caracterı́sticas. La Figura 3 presenta la desviación tı́pica muestral del vector de caracterı́sticas. Podemos observar que unas pocas caracterı́sticas tienen una desviación tı́pica muy superior al resto y, por tanto, determinan prácticamente el valor de la distancia cityblock. Éstas son variables asociadas a la diferencia 256 X Jornadas de Ingeniería Telemática - JITEL 2011 temporal entre el comienzo y el final de los flujos vecinos, su duración y el tiempo entre paquetes. Cabe resaltar que la clasificación con KNN únicamente basada en esas variables obtiene un porcentaje de aciertos similar al del conjunto completo de variables. Este resultado parece indicar que los flujos pertenecientes a una misma clase aparecen próximos entre sı́ en el tiempo y presentan caracterı́sticas dinámicas similares. Sin embargo, y en la lı́nea del análisis con PLS-DA, se constata la inexistencia de discriminación lineal entre las clases en ninguno de los subespacios asociados a las parejas de caracterı́sticas de alta variabilidad. Por tanto, no podremos discriminar las clases a partir de, a modo de ejemplo, un determinado valor de duración o de tiempo entre paquetes. 10 Desviación típica 5 x 10 4 3 2 1 0 0 Fig. 3. 10 20 30 40 Características 50 60 Desviación tı́pica muestral de las caracterı́sticas. Otro análisis interesante para comprender el buen rendimiento de KNN en la clasificación es la observación directa de algunas de las caracterı́sticas de los flujos y sus vecinos asociados. A modo ilustrativo, en la Tabla V se muestran algunos parámetros correspondientes a flujos emparejados como vecinos de acuerdo a la distancia cityblock. A partir de esta muestra, podemos introducir un número de hipótesis que serán de interés en el análisis subsecuente. En primer lugar, en varios casos coinciden las direcciones IPs en los flujos vecinos, ası́ como el puerto destino. Esto podrı́a ser una caracterı́stica generalizable en algunos protocolos. Por ejemplo, en el caso de la navegación web, un cliente realiza numerosas conexiones TCP al mismo servidor para la apertura de distintas páginas alojadas en éste. Ası́, el cliente elige puertos dinámicos cercanos, si no consecutivos, al hacer esta navegación, como se muestra en varias de las parejas de flujos HTTP. También asociado a la navegación web podemos ver un comportamiento parecido en el protocolo DNS. Durante la navegación, es común acceder a páginas en distintos servidores web. Para acceder a estos servidores será necesario realizar la pertinente conversión DNS. En cuanto a los flujos P2P, parece lógico esperar la coincidencia únicamente de la dirección IP origen, que inicia la conexión con distintos pares prácticamente en paralelo. Cabe resaltar que en aquellas parejas de flujos muestreadas donde la clasificación basada en el vecino más cercano falla, no hay coincidencia de IPs o puertos. IV. F ORMALIZACI ÓN E IDENTIFICACI ÓN DEL MODELO PARAM ÉTRICO Considerando los resultados discutidos en la sección anterior, podemos concluir que existe un buen rendimiento de Tabla V PAR ÁMETROS CORRESPONDIENTES A UN SUBCONJUNTO DE FLUJOS EMPAREJADOS COMO VECINOS DE ACUERDO A LA DISTANCIA cityblock. E N CASO DE COINCIDENCIA EN EL VALOR DE PUERTOS O SERVICIO ENTRE AMBOS FLUJOS EMPAREJADOS , EL VALOR SE MUESTRA UNA ÚNICA VEZ . IPs coin. Pto origen Pto destino Servicio Dist. en tpo (sg) Coincidencia en clases OyD 33116 /16486 53 DNS 0.0 Sı́ OyD 60945 /60946 80 HTTP 28 Sı́ - 1210 /51666 80 /16578 HTTP /P2P 21 No OyD 47275 /47279 80 HTTP 4 Sı́ Origen 1254 /1261 61836 /44763 P2P 56 Sı́ OyD 3081 /3083 80 HTTP 1 Sı́ Origen 4361 /4367 80 HTTP 66 Sı́ OyD 12160 /26695 53 DNS 0.3 Sı́ Origen 3352 /3438 28100 /64139 P2P 23 Sı́ Origen 1950 /44009 64905 /53 P2P /DNS 68 No clasificación de tráfico usando KNN, y que éste se debe principalmente a elementos relativos entre flujos. Por tanto, parece interesante investigar la posibilidad de definir un clasificador basado en las relaciones (dinámicas) entre flujos, en lugar de un clasificador que se limite a considerar caracterı́sticas de un único flujo. Para ello, en el resto de este trabajo se persigue la identificación de parejas de flujos en base a reglas de similitud. Siendo éste un trabajo preliminar para evaluar la viabilidad de dicho clasificador, consideraremos que el porcentaje de aciertos del clasificador será igual al porcentaje de parejas de flujos en las que ambos flujos pertenecen a la misma clase. De acuerdo a las hipótesis sugeridas por la muestra recogida y analizada en la Tabla V, parece conveniente buscar parejas de flujos cercanos en el tiempo y que presenten ciertas similitudes a nivel de direcciones IP y puertos. Para ello, se propone la definición de una función objetivo asociada a una pareja de flujos. Ası́, dado un determinado flujo, se considerará que su vecino más cercano es aquel que maximice la siguiente función objetivo: F = α·(|NIP −1|+ 1 1 1 + + ) (2) dpto1 + k1 dpto2 + k1 dt + k2 donde NIP es el número de IPs coincidentes entre flujos, dpto1 y dpto2 son las distancias (diferencias cuadráticas) entre los puertos asociados a las IPs, dt es la distancia en tiempo entre el comienzo de los flujos, en segundos, k1 y k2 son los parámetros del modelo y: 1, para NIP ≥ 1 α= . (3) ∞, para NIP = 0 257 X Jornadas de Ingeniería Telemática - JITEL 2011 de tiempos muy fuertes (intervalos muy reducidos) siguen permitiendo un agrupamiento con resultados satisfactorios, muy por encima del nivel establecido por el lı́mite de control. 100 % de aciertos 90 Tasa de aciertos límite de control al 99% 80 70 60 50 1s 1m 1h Tiempo (escala logarítmica) 1d (a) 100 95 % de aciertos Como se observa en las ecuaciones (2) y (3), la selección de vecinos se restringe a aquellos flujos que comparten al menos una dirección IP. El objetivo es sólo emparejar aquellos flujos originados por un mismo cliente, o bien destinados a un mismo servidor. El hecho de que ambas direcciones IP coincidan es normalizado al valor unidad en la función objetivo. Los parámetros k1 y k2 (referidos a la contribución de los puertos y del tiempo entre flujos, respectivamente) nos permiten ajustar el peso de las distancias en el cómputo global de la función objetivo. Inicialmente no se fija una restricción en el tiempo máximo entre flujos admisible para permitir una relación de vecindad. Los parámetros k1 y k2 son ajustados a partir del porcentaje de aciertos en el conjunto de datos F14, con la distribución de flujos en protocolos previamente ofrecida en la Tabla II. La Figura 4 muestra el resultado del ajuste. De dicha gráfica se desprende el excelente ajuste del clasificador basado en la relación de vecindad. De acuerdo a la misma, se fijan los parámetros a los valores k1 = 1 y k2 = 2. Cabe destacar que, si bien estos valores producen el ajuste óptimo, pequeñas variaciones de los mismos no suponen una gran reducción en el rendimiento (del 99.5% al 97.5%). Tasa de aciertos límite de control al 99% 90 85 80 % de aciertos 99.5 75 1s 99 98.5 1m 1h Tiempo (escala logarítmica) 1d (b) 98 97.5 97 2 1 0.5 k1 0.2 0.2 0.5 1 2 5 k2 Fig. 4. Estudio paramétrico de posibles valores de k1 y k2 para el establecimiento de la relación de vecindad entre flujos. V. VALIDACI ÓN DEL MODELO PARAM ÉTRICO El objetivo de esta sección es validar el modelo paramétrico definido y ajustado en la sección previa, para lo cual utilizaremos el conjunto de datos F51, descrito en la segunda columna en la Tabla II. Adicionalmente, considerando la aplicabilidad real de la propuesta en un nodo de red con memoria limitada, resulta adecuado estudiar el tiempo máximo permitido entre flujos y el rendimiento del modelo para dicha restricción temporal. En la Figura 5 se presenta la tasa de éxito del modelo (k1 = 1 y k2 = 2) aplicado al conjunto de datos F51 considerando distintos tiempos máximos permitidos entre flujos (abscisas), tanto en la clasificación de protocolos (Fig. 5(a)), como en la discriminación de tráfico P2P (Fig. 5(b)). Los resultados se comparan con el lı́mite de control al 99% de confianza (p-valor = 0.01) correspondiente a los test de permutación en el conjunto de datos F51 (gráficos no mostrados). Como se observa, una mayor restricción del tiempo entre flujos a la hora de establecer la vecindad provoca un descenso en la tasa de éxito a la hora de formar duplas de flujos con la misma etiqueta. No obstante, los gráficos nos indican que restricciones Fig. 5. Detalle de la evolución de la tasa de acierto en función de la restricción de tiempo máxima existente entre flujos de cada dupla. (a) Para la lista de protocolos detallada, (b) para la lista de protocolos agrupados en P2P o no P2P. Un análisis de los resultados detallado para cada protocolo puede ser interesante para mejorar la interpretación de los mismos. En las Figuras 6 y 7 se muestra la mediana de los tiempos entre vecinos, seleccionados de acuerdo al modelo paramétrico, para los conjuntos de calibración y test, respectivamente. La mediana ha sido escogida en lugar del valor medio por su robustez ante valores anormalmente altos. En las gráficas se observa que algunos protocolos presentan tiempos elevados entre flujos (ej. SSH), responsables de la bajada del rendimiento del modelo al restringir el tiempo máximo entre flujos. Téngase en cuenta, no obstante, que el número de flujos asociado a un mismo protocolo es bastante reducido en algunos casos (ver Tabla II), con lo que la mediana puede no ser representativa del comportamiento del protocolo. En cualquier caso, la mayorı́a de los protocolos establecen una vecindad óptima para intervalos de tiempo menores al minuto, según el valor de su mediana. Adicionalmente, si se fuerza a restringir el tiempo, el rendimiento no es penalizado en un alto grado, como se refleja en las Figuras 5(a) y 5(b). Cabe destacar la capacidad generalizadora de la propuesta, ya que en el conjunto de test considerado existen protocolos que no aparecen en el conjunto de calibración. Por otro lado, se pueden observar diferencias significativas en las medianas obtenidas para ciertos protocolos en el conjunto de datos F14 y el F51 (ej. Gnutella o DNS). Si bien la tasa de coincidencia de los protocolos en flujos emparejados no se ve afectada 258 X Jornadas de Ingeniería Telemática - JITEL 2011 por ese hecho, lo que es otra manifestación de la robustez de la propuesta, estas diferencias en mediana pueden ser una limitación de cara a la futura clasificación. MPEG Gnutella HTTP+MPEG HTTP+RealMedia NETBIOS SSH MySQL SSL+MSN MSN Mail_SNMP Mail_POP HTTP+Flash en los paquetes de tráfico. El primer conjunto de datos se utilizó para el diseño y la calibración del modelo paramétrico y el segundo para su validación. Los resultados indican que es posible identificar parejas de flujos en los que coincida el protocolo de aplicación en un porcentaje superior al 90%, y en los que ambos flujos sean o no tráfico P2P en un porcentaje superior al 97%, ambos resultados en validación y para ventanas temporales de menos de 1 segundo. Si se permiten ventanas temporales mayores, el porcentaje de coincidencia es aún mayor. Este resultado valida la viabilidad de definir un clasificador de tráfico, ubicado en un nodo de red, que tome decisiones a partir de las relaciones entre flujos en una ventana temporal. AGRADECIMIENTOS SSL FTP Este trabajo ha sido parcialmente financiado por el Ministerio de Ciencia e Innovación (MICINN) del gobierno de España con el proyecto TEC2008-06663-C03-02. HTTP BitTorrent ICMP DNS 1us 1ms 1s 1m 1h 1d mediana de tiempos por protocolo Fig. 6. Mediana de tiempos entre flujos de las distintas duplas, detallado por protocolos, para el conjunto de calibración. Oscar SMB IRC WindowsMedia+MPEG WindowsMedia STUN HTTP+QuickTime Flash iMESH SIP Yahoo DirectDownloadLink MPEG Gnutella HTTP+MPEG NTP NETBIOS SSL+MSN MSN Mail_POP HTTP+Flash SSL FTP HTTP BitTorrent ICMP DNS 1us 1ms 1s 1m 1h 1d mediana de tiempos por protocolo Fig. 7. Mediana de tiempos entre flujos de las distintas duplas, detallado por protocolos, para el conjunto de evaluación. VI. C ONCLUSIONES El presente trabajo estudia la definición de reglas de similitud entre flujos de datos en red para su aplicación en clasificación de tráfico, con especial énfasis en la discriminación de tráfico peer-to-peer (P2P). El objetivo perseguido es la definición de un modelo paramétrico que permita identificar parejas de flujos con un mismo protocolo asociado. Para ello, se han utilizado dos conjuntos de datos con 62 caracterı́sticas calculadas sobre 67.015 y 45.167 flujos, respectivamente. Las caracterı́sticas no utilizan ninguna información del payload R EFERENCIAS [1] A. Callado, C. Kamienski, G. Szabo, B.P. Gero, J. Kelner, “A Survey on Internet Traffic Identification,” IEEE Communications Surveys & Tutorials, vol. 11, n. 3, pp. 37-52, 2009. [2] S. Sen and J. Wang, “Analyzing Peer-to-Peer TrafficAcross Large Networks,” IEEE/ACM Transactions on Networking, vol. 12, n. 2, pp. 219232, 2004. [3] Madhukar, A., Williamson, C., ”A Longitudinal Study of P2P Traffic Classification”, Proc. of Int. Symposium on Modeling, Analysis and Simulation, pp. 179-188, 2006. [4] R. Keralapura, A. Nucci, and C. Chuah, “A Novel Self-Learning Architecture for P2P Traffic Classification in High Speed Networks,” Computer Networks, vol. 54, pp. 1055-1068, 2010. [5] Xuan-min, L., Jiang, P., Ya-jian, Z., ”A New P2P Traffic Identification Model Based on Node Status”, In Int. Conference on Mangement and Service Science, pp. 1-4, 2010. [6] X. Li and Y. Liu, “A P2P Network Traffic Identification Model Based on Heuristic Rules,”. Int. Conference on Computer Application and System Modeling, vol. 5, pp. 177-179, 2010. [7] W. JinSong, Z. Yan, W. Qing, and W. Gong, “Connection Pattern-based P2P Application Identification Characteristic,” Proc. of Int. Conference on Network and Parallel Computing Workshops, pp. 437-441, 2007. [8] M. Soysal and E.G. Schmidt, “Machine Learning Algorithms for Accurate Flow-Based Network Traffic Classification: Evaluation and Comparison,” Performance Evaluation, vol. 67, n. 6, pp. 451-467, 2010. [9] L. Jun, Z. Shunyi, L. Yanqing, and Z. Zailong, “Internet traffic classification using machine learning,” Second International Conference on Communications and Networking in China (CHINACOM’07), pp 239243, 2007. [10] Y. Lim, H. Kim, J. Jeong, C. Kim, T.T. Kwon, and Y. Choi, “Internet traffic classification demystified: on the sources of the discriminative power,” Proceedings of the 6th International Conference On Emerging Networking Experiments And Technologies (CoNEXT’10), 2010. [11] OpenDPI, 2011. Available at http://www.opendpi.org [12] Mochalski, K., Schulze, H., ”Deep Packet Inspection. Technology, applications & net neutrality”, White Paper, 2009. Available at http://www.ipoque.com/resources/white-papers [13] F. Lindgren, B. Hansen, W. Karcher, M. S. ostr om, and L. Eriksson, “Model validation by permutation tests: Applications to variable selection,” Journal of Chemometrics, vol. 10, pp. 521–532, 1996. [14] S. Wiklund, D. Nilsson, L. Eriksson, M. S. ostr om, S. Wold, and K. Faber, “A randomization test for pls component selection,” Journal of Chemometrics, vol. 21, pp. 427–439, 2007. [15] H. Wold and E. Lyttkens, “Nonlinear iterative partial least squares (nipals) estimation procedures,” in Bull. Intern. Statist. Inst. Proc., 37th session, London, 1969, pp. 1–15. [16] P. Geladi and B. Kowalski, “Partial least-squares regression: a tutorial,” Analytica Chimica Acta, vol. 185, pp. 1–17, 1986. [17] M. Barker and W. Rayens, “Partial least squares for discrimination,” Journal of Chemometrics, vol. 17, pp. 166–173, 2003. 259