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

Documentos relacionados