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

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


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


Pere barlet ros eva codina josep sol pareta pbarlet ecodina pareta ac upc

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

Í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

  • 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

  • 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

  • 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

  • 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

  • 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

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

  • 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

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

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

  • 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

  • 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

  • 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

Punto de captura

2 x GigE full-dúplex


Precisi n por grupo de aplicaci n

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

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

Núm. puertoAprendizaje automático


Ndice3

Í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

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

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


Pere barlet ros eva codina josep sol pareta pbarlet ecodina pareta ac upc

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