Identificación de aplicaciones de red mediante técnicas de aprendizaje automático
Sponsored Links
This presentation is the property of its rightful owner.
1 / 22

Pere Barlet-Ros Eva Codina Josep Solé-Pareta {pbarlet, ecodina, [email protected] PowerPoint PPT Presentation


  • 74 Views
  • Uploaded on
  • Presentation posted in: General

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, [email protected] http://www.ccaba.upc.edu/smartxac.

Download Presentation

Pere Barlet-Ros Eva Codina Josep Solé-Pareta {pbarlet, ecodina, [email protected]

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, [email protected]

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

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

  • 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


Í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


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


Ejemplo utilizando núm. puerto

  • SMARTxAC: Anella Científica 2006

Porcentaje de tráfico por aplicación

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


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


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

  • 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

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

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

  • 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

  • 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


Í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


Escenario de prueba

Punto de captura

2 x GigE full-dúplex


Precisión por grupo de aplicación

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)

Núm. puertoAprendizaje automático


Í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


Resumen del método propuesto

  • 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

  • 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, [email protected]

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)


  • Login