Identificación de aplicaciones de red mediante técnicas de aprendizaje automático
Download
1 / 22

Pere Barlet-Ros Eva Codina Josep Solé-Pareta {pbarlet, ecodina, pareta}@ac.upc - PowerPoint PPT Presentation


  • 102 Views
  • Uploaded on

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.

loader
I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
capcha
Download Presentation

PowerPoint Slideshow about ' Pere Barlet-Ros Eva Codina Josep Solé-Pareta {pbarlet, ecodina, pareta}@ac.upc' - oneida


An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript

Identificación de aplicaciones de red mediante técnicas de aprendizaje automáticoJornadas 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)


Ndice
Índice aprendizaje automático

  • 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


Monitorizaci n pasiva
Monitorización pasiva aprendizaje automático

  • 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


Smartxac
SMARTxAC aprendizaje automático

  • 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


Ndice1
Índice aprendizaje automático

  • 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


Identificaci n de aplicaciones de red
Identificación de aplicaciones de red aprendizaje automático

  • 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


Ejemplo utilizando n m puerto
Ejemplo utilizando núm. puerto aprendizaje automático

  • SMARTxAC: Anella Científica 2006

Porcentaje de tráfico por aplicación

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


Alternativas y requerimientos
Alternativas y requerimientos aprendizaje automático

  • 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


Aprendizaje autom tico
Aprendizaje automático 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”)


M todo propuesto
Método propuesto aprendizaje automático

  • 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”


Atributos utilizados
Atributos utilizados aprendizaje automático

  • 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)


Fase de entrenamiento i
Fase de entrenamiento (I) aprendizaje automático

  • 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


Fase de entrenamiento ii
Fase de entrenamiento (II) aprendizaje automático

  • 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


Implantaci n del rbol de clasificaci n
Implantación del árbol de clasificación aprendizaje automático

  • 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


Ndice2
Índice aprendizaje automático

  • 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


Escenario de prueba
Escenario de prueba aprendizaje automático

Punto de captura

2 x GigE full-dúplex


Precisi n por grupo de aplicaci n
Precisión por grupo de aplicación aprendizaje automático

99,88

99,62

98,40

97,86

97,22

97,14

96,87

96,20

95,43

95,20

100,00

92,98

90,32

90,14

84,56

90,00

80,73

80,00

70,00

60,00

Precisión (%)

50,00

40,00

30,00

20,00

10,00

0,00

IRC

FTP

P2P

DNS

MAIL

UNIX

WWW

NEWS

NETFS

TOTAL

GAMES

TELNET

OTHERS

NETWORK

MULTIMEDIA

Grupo de aplicación


Porcentaje de tr fico por aplicaci n i
Porcentaje de tráfico por aplicación (I) aprendizaje automático

Núm. puerto Aprendizaje automático


Ndice3
Índice aprendizaje automático

  • 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


Resumen del m todo propuesto
Resumen del método propuesto aprendizaje automático

  • Captura del conjunto de entrenamiento

    • Flujos reales representativos del entorno a monitorizar

    • Alternativamente generados artificialmente

  • Extracción de atributos de los flujos de entrenamiento

  • Clasificación manual flujo  aplicación

    • Reconocimiento de patrones e inspección manual

    • Puede simplificarse utilizando conjunto entrenamiento artificial en 1)

  • Construcción del árbol de clasificación C4.5

    • P.ej. utilizando el software Weka

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

  • Reentrenamiento del sistema cada cierto tiempo

    • Empezando desde el paso 1)

    • Para adaptarlo a nuevas aplicaciones o cambios


Conclusiones y trabajos futuros
Conclusiones y trabajos futuros aprendizaje automático

  • 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


Identificación de aplicaciones de red mediante técnicas de aprendizaje automáticoJornadas 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)


ad