pere barlet-ros eva codina josep solé-pareta {pbarlet, ecodina, pareta}@ac.upc

22
Centre de Comunicacions Avançades de Banda Ampla (CCABA) Universitat Politècnica de Catalunya (UPC) Identificación de aplicaciones de red mediante técnicas de aprendizaje automático Jornadas Técnicas de RedIRIS 2007 Pere Barlet-Ros Eva Codina Josep Solé-Pareta {pbarlet, ecodina, pareta}@ac.upc.edu http://www.ccaba.upc.edu/smartxac imientos: Este trabajo ha sido financiado parcialmente por el CESCA (convenio SMARTxAC) y el MEC (TSI2005-07520-C03-02 y TEC2005-08051

Upload: oneida

Post on 28-Jan-2016

40 views

Category:

Documents


0 download

DESCRIPTION

Identificación de aplicaciones de red mediante técnicas de aprendizaje automático Jornadas Técnicas de RedIRIS 2007. Pere Barlet-Ros Eva Codina Josep Solé-Pareta {pbarlet, ecodina, pareta}@ac.upc.edu http://www.ccaba.upc.edu/smartxac. - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Pere Barlet-Ros Eva Codina Josep Solé-Pareta {pbarlet, ecodina, pareta}@ac.upc

Centre de Comunicacions Avançadesde Banda Ampla (CCABA)

Universitat Politècnicade Catalunya (UPC)

Identificación de aplicaciones de red mediante técnicas de aprendizaje

automático

Jornadas Técnicas de RedIRIS 2007

Pere Barlet-Ros

Eva Codina

Josep Solé-Pareta

{pbarlet, ecodina, pareta}@ac.upc.edu

http://www.ccaba.upc.edu/smartxac

Agradecimientos: Este trabajo ha sido financiado parcialmente por el CESCA (convenio SMARTxAC) y el MEC (TSI2005-07520-C03-02 y TEC2005-08051-C03-01)

Page 2: Pere Barlet-Ros Eva Codina Josep Solé-Pareta {pbarlet, ecodina, pareta}@ac.upc

Índice

Introducción Monitorización pasiva de red Sistema SMARTxAC

Identificación de aplicaciones de red Técnicas tradicionales Método basado en técnicas de aprendizaje automático

Evaluación y resultados Precisión de identificación Porcentaje de clasificación

Conclusiones Resumen del método propuesto Conclusiones y trabajos futuros

Page 3: Pere Barlet-Ros Eva Codina Josep Solé-Pareta {pbarlet, ecodina, pareta}@ac.upc

Monitorización pasiva

Monitorización pasiva de red Permite observar el tráfico de un enlace en tiempo real Es no intrusiva Requiere acceso físico a la red

Utilidad para los operadores y administradores de red Soporte al dimensionado, evaluación rendimiento, … Localización y diagnóstico de fallos, anomalías, ... Tareas de seguridad: detección intrusiones, ataques, …

Ejemplos Tcpdump, Intel CoMo, AT&T Gigascope, Snort, etc. SMARTxAC: Monitorización continua de la Anella Científica

Page 4: Pere Barlet-Ros Eva Codina Josep Solé-Pareta {pbarlet, ecodina, pareta}@ac.upc

SMARTxAC

Sistema de Monitorización y Análisis de Tráfico para la Anella Científica (SMARTxAC) Convenio de colaboración CESCA-UPC Operativo desde julio de 2003

Características Plataforma de monitorización de bajo coste Monitorización continua de la Anella Científica en tiempo real Detección de anomalías y usos irregulares Las instituciones puedan conocer su uso de la red

Monitorización de 2 enlaces GbEth Enlace entre la Anella Científica y RedIRIS Tráfico actual: > 2 Gbps / > 300 Kpps

Page 5: Pere Barlet-Ros Eva Codina Josep Solé-Pareta {pbarlet, ecodina, pareta}@ac.upc

Índice

Introducción Monitorización pasiva de red Sistema SMARTxAC

Identificación de aplicaciones de red Técnicas tradicionales Método basado en técnicas de aprendizaje automático

Evaluación y resultados Precisión de identificación Porcentaje de clasificación

Conclusiones Resumen del método propuesto Conclusiones y trabajos futuros

Page 6: Pere Barlet-Ros Eva Codina Josep Solé-Pareta {pbarlet, ecodina, pareta}@ac.upc

Identificación de aplicaciones de red

Clasificación del tráfico a nivel de aplicación Es de especial interés para los operadores de red

– Políticas de QoS, servicio diferenciado, etc.

Tradicionalmente realizada utilizando núm. puerto Tabla estática de traducción (p.ej. well-known ports) No requiere inspección del contenido Computacionalmente simple

Métodos tradicionales ya no son válidos Aplicaciones basadas en web, túneles, puertos dinámicos, … Comportamiento de los usuarios, evasión cortafuegos, … Clasificación incompleta e incorrecta

Page 7: Pere Barlet-Ros Eva Codina Josep Solé-Pareta {pbarlet, ecodina, pareta}@ac.upc

Ejemplo utilizando núm. puerto

SMARTxAC: Anella Científica 2006

Evolución temporal del tráfico por aplicación

Porcentaje de tráfico por aplicación

Page 8: Pere Barlet-Ros Eva Codina Josep Solé-Pareta {pbarlet, ecodina, pareta}@ac.upc

Alternativas y requerimientos

Alternativa: reconocimiento por patrones (firmas) Costoso computacionalmente Requiere contenido de los paquetes Problemas

– Privacidad

– Encriptación de la conexión

– Ofuscación del protocolo

Requerimientos de nuestro método Identificación precisa y completa Aplicación en tiempo real en enlaces de alta velocidad Sin inspección del contenido de los paquetes Aplicable en el sistema SMARTxAC

Page 9: Pere Barlet-Ros Eva Codina Josep Solé-Pareta {pbarlet, ecodina, pareta}@ac.upc

Aprendizaje automático

Aprendizaje automático inductivo Rama de la inteligencia artificial Permite a las computadoras extraer conocimiento A partir de ejemplos (conjunto entrenamiento)

Aprendizaje automático no supervisado Encontrar mejor partición entre similitudes de los ejemplos

Aprendizaje automático supervisado Seleccionar atributos para predecir la clase de cada objeto Conjunto entrenamiento: <objeto, clase objeto>

– Objeto: Representado a partir de un vector de atributos

– Clase: Valor a predecir (obtenido “manualmente”)

Page 10: Pere Barlet-Ros Eva Codina Josep Solé-Pareta {pbarlet, ecodina, pareta}@ac.upc

Método propuesto

Identificación basada en el algoritmo C4.5 Desarrollado por Ross Quinlan como extensión del ID3 Basado en la construcción de un árbol de clasificación Selección de atributos para maximizar ganancia información

Conjunto de entrenamiento Flujos de tráfico real Pares <atributos flujo, aplicación> Vector de atributos contiene características de los flujos La aplicación se identifica “manualmente”

Page 11: Pere Barlet-Ros Eva Codina Josep Solé-Pareta {pbarlet, ecodina, pareta}@ac.upc

Atributos utilizados

Requerimientos Extracción en tiempo real No dependan del contenido de los paquetes

Ejemplo de atributos (total: 25) Contadores de paquetes y bytes por flujo Duración flujo Longitud mín./med./máx. paquetes Tamaño inicial, mín./med./máx. ventana TCP Mín./med./máx. interarrival time paquetes del flujo Paquetes con flags PUSH, URG, DF, … activados Incremento medio IPID Estimación SO (origen y destino) También puertos y protocolo (pero no de la forma tradicional) …

Page 12: Pere Barlet-Ros Eva Codina Josep Solé-Pareta {pbarlet, ecodina, pareta}@ac.upc

Fase de entrenamiento (I)

Captura del tráfico de entrenamiento Conjunto representativo del entorno a monitorizar Agregación por flujos (a nivel de transporte) Extracción de atributos

Clasificación manual de los flujos de entrenamiento Análisis off-line del contenido de los paquetes Utilizando técnicas de reconocimiento por patrones (L7-filter) Inspección manual del resto de flujos

Alternativa Generar tráfico sintéticamente en un entorno controlado Identificación manual no es necesaria Soluciona problemas de privacidad o encriptación

Page 13: Pere Barlet-Ros Eva Codina Josep Solé-Pareta {pbarlet, ecodina, pareta}@ac.upc

Fase de entrenamiento (II)

Generación del árbol de clasificación Algoritmo C4.5 Entrada: flujos de entrenamiento clasificados Salida: árbol de clasificación (contiene únicamente atributos)

Software utilizado: Weka Universidad de Waikato (Nueva Zelanda) Software libre (licencia GNU GPL) Escrito en Java http://www.cs.waikato.ac.nz/ml/weka

Page 14: Pere Barlet-Ros Eva Codina Josep Solé-Pareta {pbarlet, ecodina, pareta}@ac.upc

Implantación del árbol de clasificación

Implementación en el sistema SMARTxAC Clasificación del tráfico por flujos Extracción en tiempo real de atributos (único requerimiento) Clasificación de cada flujo utilizando el árbol de clasificación Computacionalmente simple y aplicable en tiempo real

No es necesario: Análisis del contenido de los paquetes Reconocimiento de patrones Confiar únicamente en los números de puerto Inspección manual de los flujos

Pero sí es necesario … Reentrenamiento del sistema cada cierto tiempo Aparición de nuevas aplicaciones o cambios en las existentes

Page 15: Pere Barlet-Ros Eva Codina Josep Solé-Pareta {pbarlet, ecodina, pareta}@ac.upc

Índice

Introducción Monitorización pasiva de red Sistema SMARTxAC

Identificación de aplicaciones de red Técnicas tradicionales Método basado en técnicas de aprendizaje automático

Evaluación y resultados Precisión de identificación Porcentaje de clasificación

Conclusiones Resumen del método propuesto Conclusiones y trabajos futuros

Page 16: Pere Barlet-Ros Eva Codina Josep Solé-Pareta {pbarlet, ecodina, pareta}@ac.upc

Escenario de prueba

Punto de captura2 x GigE full-dúplex

Page 17: Pere Barlet-Ros Eva Codina Josep Solé-Pareta {pbarlet, ecodina, pareta}@ac.upc

Precisión por grupo de aplicación

99,62

90,32

97,8695,43 95,20

96,87 97,22

80,73

92,9890,14

98,40 99,88

84,56

96,20 97,14

0,00

10,00

20,00

30,00

40,00

50,00

60,00

70,00

80,00

90,00

100,00

Precisión (%)

DNSFTP

GAMES

IRC

MAIL

MULT

IMEDIA

NETFS

NETWORK

NEWS

OTHERSP2P

TELNET

UNIX

WW

W

TOTAL

Grupo de aplicación

Page 18: Pere Barlet-Ros Eva Codina Josep Solé-Pareta {pbarlet, ecodina, pareta}@ac.upc

Porcentaje de tráfico por aplicación (I)

Núm. puerto Aprendizaje automático

47.39%

10.34%

0.43%

0.10%

19.65%

7.97%

0.08%

2.48%0.55%

1.84%

2.26%

0.10%

0.53%

6.04%0.23%

40.07%

2.43%

2.97%

18.47%

0.30%8.17%

0.48%

9.67%

1.22%

0.51%

0.30%

1.52%

8.48%

5.42%

A_UKNWN

DNS

FTP

GAMES

IRC

MAIL

MULTIMEDIA

NETFS

NETWORK

NEWS

NO_TCPUDP

OTHERS

P2P

T_UKNWN

TELNET

UNIX

WWW

Page 19: Pere Barlet-Ros Eva Codina Josep Solé-Pareta {pbarlet, ecodina, pareta}@ac.upc

Índice

Introducción Monitorización pasiva de red Sistema SMARTxAC

Identificación de aplicaciones de red Técnicas tradicionales Método basado en técnicas de aprendizaje automático

Evaluación y resultados Precisión de identificación Porcentaje de clasificación

Conclusiones Resumen del método propuesto Conclusiones y trabajos futuros

Page 20: Pere Barlet-Ros Eva Codina Josep Solé-Pareta {pbarlet, ecodina, pareta}@ac.upc

Resumen del método propuesto

1) Captura del conjunto de entrenamiento• Flujos reales representativos del entorno a monitorizar• Alternativamente generados artificialmente

2) Extracción de atributos de los flujos de entrenamiento

3) Clasificación manual flujo aplicación• Reconocimiento de patrones e inspección manual• Puede simplificarse utilizando conjunto entrenamiento artificial en 1)

4) Construcción del árbol de clasificación C4.5• P.ej. utilizando el software Weka

5) Implantación del árbol generado en 4) en el sistema de monitorización de red

6) Reentrenamiento del sistema cada cierto tiempo• Empezando desde el paso 1)• Para adaptarlo a nuevas aplicaciones o cambios

Page 21: Pere Barlet-Ros Eva Codina Josep Solé-Pareta {pbarlet, ecodina, pareta}@ac.upc

Conclusiones y trabajos futuros

Identificación tradicional basada en los núm. de puerto Clasificación imprecisa y errónea

Identificación basada en reconocimiento de patrones No aplicable en tiempo real en enlaces de alta velocidad Requiere la captura e inspección de contenidos No aplicable con encriptación o ofuscación del protocolo

Propuesta basada en aprendizaje automático Aplicable en tiempo real No requiere contenido de los paquetes Resultados experimentales muestran precisión > 95%

Trabajos futuros Validación con conjuntos de datos más extensos Automatización de la fase de entrenamiento

Page 22: Pere Barlet-Ros Eva Codina Josep Solé-Pareta {pbarlet, ecodina, pareta}@ac.upc

Centre de Comunicacions Avançadesde Banda Ampla (CCABA)

Universitat Politècnicade Catalunya (UPC)

Identificación de aplicaciones de red mediante técnicas de aprendizaje

automático

Jornadas Técnicas de RedIRIS 2007

Pere Barlet-Ros

Eva Codina

Josep Solé-Pareta

{pbarlet, ecodina, pareta}@ac.upc.edu

http://www.ccaba.upc.edu/smartxac

Agradecimientos: Este trabajo ha sido financiado parcialmente por el CESCA (convenio SMARTxAC) y el MEC (TSI2005-07520-C03-02 y TEC2005-08051-C03-01)