1 / 22

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á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.

oneida
Download Presentation

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

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. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 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)

  2. Í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

  3. 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

  4. 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

  5. Í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

  6. 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

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

  8. 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

  9. 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”)

  10. 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”

  11. 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) • …

  12. 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

  13. 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

  14. 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

  15. Í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

  16. Escenario de prueba Punto de captura 2 x GigE full-dúplex

  17. 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

  18. Porcentaje de tráfico por aplicación (I) Núm. puerto Aprendizaje automático

  19. Í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

  20. 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

  21. 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

  22. 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)

More Related