






Study with the several resources on Docsity
Earn points by helping other students or get them with a premium plan
Prepare for your exams
Study with the several resources on Docsity
Earn points to download
Earn points by helping other students or get them with a premium plan
Community
Ask the community for help and clear up your study doubts
Discover the best universities in your country according to Docsity users
Free resources
Download our free guides on studying techniques, anxiety management strategies, and thesis advice from Docsity tutors
Probabilidad y estadística aplicada a la ingeniería en redes
Typology: Summaries
1 / 11
This page cannot be seen from the preview
Don't miss anything!
Resume n – Este proyecto de titulación está orientado a desarrollar un software con una interfaz visual de escritorio que permita obtener datos estadísticos y gráficos del tráfico de red, diferenciando hosts, puertos y protocolos, que pueda ser ejecutada en sistemas operativos como Windows y Linux(CentOS y Ubuntu). Se usa como herramienta fundamental a WinPcap (Windows) y a libpcap(Linux) para la captura de paquetes del tráfico de Internet de una red LAN Ethernet y a jNetPcap para su decodificación desde una aplicación Java. Se usa NetBeans 6. como entorno de desarrollo, siguiendo los lineamientos del documento de requerimientos de software. Se describe brevemente el método de programación extrema y el diseño final alcanzado con las continuas iteraciones incrementales de desarrollo. En la etapa de diseño se utiliza UML(Unified Modeling Language) con sus diagramas de casos de uso, clases y de actividad para describir las relaciones y procesos principales de la aplicación final. En este documento se mostrarán los gráficos generados a partir de los datos capturados en el proceso de prueba y los escenarios de detección de anomalías.
I. INTRODUCCIÓN
El servicio de Internet es uno de los puntos más críticos en un entorno corporativo, donde el uso óptimo de los recursos constituye el pilar fundamental para el crecimiento y estabilidad de una empresa.
Los encargados de regular el uso óptimo de este servicio son los administradores de red, siguiendo las normas de las políticas internas de la empresa.
El administrador de red debe hacer uso de herramientas de software para monitorear el ancho de banda de la conexión a Internet y también de la captura de paquetes. El problema surge al momento de la interpretación de los datos para la obtención de parámetros cuantitativos y cualitativos, en los cuales basar sus decisiones para establecer medidas restrictivas y correctivas.
El presente proyecto de titulación aborda este problema y se implementa como una solución la creación de un software con las siguientes directrices principales:
Estas características engloban los requerimientos que un software de este tipo debe poseer para tener una visión global del uso del servicio de Internet en una red local.
II. DESCRIPCIÓN DE LAS HERRAMIENTAS Y BIBLIOTECAS CLAVE A. NetBeans El Netbeans IDE es un ambiente de desarrollo integrado para la creación aplicaciones web, empresariales, escritorio y móviles para distintas plataformas como Java, PHP, JavasScript y Ajax, Groovy y Grails y C/C++. Es un producto libre y gratuito sin restricciones de uso.
Es una herramienta pensada para escribir, compilar, depurar y ejecutar programas. B. WinPcap y libpcap Libpcap de Unix provee de una interfaz de alto nivel para los sistemas de captura de paquetes y su análisis. Winpcap es el equivalente de libpcap para la plataforma Win32.
La potencialidad de estas bibliotecas puede ser aprovechada en varios tipos de herramientas de red que pueden ser de análisis, resolución de problemas, seguridad y monitorización. Más específicamente podrían ser:
Sin embargo tienen limitaciones, es decir, no poseen la capacidad de bloquear, filtrar o manipular el tráfico generado por otros programas en la misma máquina. Por esta razón no puede ser usado en aplicaciones como limitadores de tráfico, planificadores de QoS y firewalls personales.
C. jNetPcap jNetPcap es un API de desarrollo de software para el (SDK^1 ) de Java, cuya función básica es la proveer de un “ envoltorio java ”^2 para la biblioteca libpcap^3. (^1) Software Development Kit (^2) El término original en inglés es java wrapper
El objetivo de jNetPcap es el de proveer una mayor facilidad para el desarrollo de aplicaciones típicas de la biblioteca libpcap y WinPcap.
jNetPcap está conformada por una implementación java más una implementación nativa dependiente de plataforma. En el caso de sistemas Win32 la biblioteca es un .dll y en sistemas Unix es un fichero .so.
jNetPcap API Protocol Development SDK Custom Protocol Libraries Java SDK Core Protocol
Libpcap Wrapper Protocol Decoder
Native SDK Libpcap library Protocol scanner Fig. 1. Estructura de jNetPcap
D. Java
Java es un lenguaje de programación orientado a objetos desarrollado por Sun Microsystems pero actualmente es mantenido por Oracle Corporation. Este lenguaje contiene sintaxis de C y C++, pero que gestiona elementos de bajo nivel para evitar errores asociados a aquello.
Java se ha construido con extensas capacidades de conexión como TCP/IP, por lo tanto, contiene librerías de rutinas para acceder e interactuar con protocolos como ftp y http. Esto permite al programador acceder información a través de la red con tanta facilidad como ficheros locales.
Java posee las características de ser orientado a objetos, robusto, seguro, portable, multithreaded^4 , dinámico y posee una arquitectura neutral.
III. DISEÑO E IMPLEMENTACIÓN DEL SISTEMA
A. Programación extrema
Es un método de desarrollo ágil basado en procesos iterativos e incrementales y la participación activa del cliente.
A continuación un detalle del ciclo de entrega de la programación extrema.
(^3) Biblioteca propia de sistemas Unix utilizada para captura de paquetes de red (^4) Significa que varios threads se ejecutan simultáneamente en un espacio de direcciones compartido.
Fig. 1. Ciclo de entrega de la programación extrema [2]
Este método incluye otro principio básico, el cual es la programación en parejas, cuyo objetivo es la minimización de errores y aumento la productividad al escribir código de gran calidad, por la continua verificación del trabajo realizado entre ambos. B. Descripción de requerimientos Requerimientos del usuario resumidos en forma de diagrama UML.
Fig. 2. Diagramas de casos de uso de los requerimientos del usuario
C. Descripción general del sistema La solución fue dividida en dos módulos:
Estos módulos fueron implementados en Java con la finalidad de proveer la característica multiplataforma.
Ambos módulos utilizan una base de datos implementada con MySQL para el almacenamiento y posterior análisis de los mismos como se muestra la Fig. 3.
Fig. 6. Red conmutada mediante un Switch no Administrable
Fig. 7. Red conmutada mediante un Switch no Administrable y que usa un servidor Proxy
V. PRUEBAS
Para la realización de las pruebas se siguió el esquema mostrado en la Fig. 8.
Fig. 8. Diagrama de conexión de red para monitoreo de datos.
La computadora portátil se conecta directamente al hub para monitorear todo el tráfico que genera las 5 estaciones de trabajo.
PARA LOS DATOS CAPTURADOS El software está en la capacidad de generar los siguientes gráficos y resúmenes estadísticos:
En tiempo real.
Datos almacenados en la base de datos.
También se incluye una tabla de resumen de estadística descriptiva, la cual contiene información sobre el número de valores de bitrate, la media, el error estándar de la media, la media recortada, la desviación estándar, además muestra el valor mínimo, el máximo e indicadores como el primer cuartil, la mediana (segundo cuartil) y el tercer cuartil.
•DNS reverso y ranking para IPs más utilizadas (Fig. 18).- Utilizando un diagrama de barras se mostrará la cantidad de bytes transferidos para las distintas direcciones IP registradas en la base de datos por cada host seleccionado. Incluye un mecanismo que realiza el proceso de DNS reverso para la resolución de nombres de dominio de las direcciones IP.
Fig. 9. Gráfico bitrate vs tiempo incoming y outgoing de las pruebas de monitoreo sobrepasando los 100KBps.
Fig. 10. Monitoreo de paquetes en Modo Sniffer.
Límite de 100 KBps para la alarma sonora y de color
Área de texto del sniffer con los paquetes decodificados
Fig. 13. Histograma de protocolos y Distribución de frecuencias relativas acumuladas de los datos monitoreados.
Fig. 14. Reconstrucción de historial de la base con líneas de los datos monitoreados.
La frecuencia relativa acumulada indica que hay una gran cantidad de transferencia de datos en el intervalo de 0 a 4 KBps ya que la pendiente de la recta inclinada es creciente y alcanza un 40% de los promedios de tasa de transferencia calculados del tráfico de Internet monitoreado, y las pendientes crecientes desde ese punto varían levemente lo que significa que no ha existido una cantidad significativa de transferencia de datos para valores altos de bitrate. El resto de valores de bitrate corresponden al 60% del total.
Se obtuvo una desviación estándar del 23,72 KBps con respecto a la media, lo que significa que existe una gran cantidad de transferencia de datos a ráfagas y eso se puede confirmar con los valores de los cuartiles que van desde 0 KBps para el primer cuartil, 8.29 KBps para el segundo y 38.13 KBps en el tercer cuartil, es decir, los valores de bitrate no se mantienen constantes y se distribuyen aleatoriamente en el rango comprendido por el valor mínimo 0 KBps y el máximo 69.52 KBps.
Los hosts con IPs 172.31.18.155, 172.31.18.159, 172.31.18.155 y 172.31.18.166 han tenido una actividad alta de tráfico en ráfagas por el puerto 80 con respecto a las demás estaciones de trabajo. Esto se sabe por el color de las etiquetas de identificadoras de la parte inferior y por el texto emergente que aparece cuando se pasa el mouse por la parte superior de las líneas.
Valor de bitrate[KBps] vs Tiempo[ms] de una estación de trabajo con dirección IP 172.31.18. para el puerto 80, usando pasos para cada intervalo entre actualizaciones.
Fig. 15. Reconstrucción de historial de la base de datos en pasos.
Fig. 16. Series de tiempo de los datos monitoreados.
Cada pico del gráfico representa el valor promedio del tráfico para un protocolo o puerto de un host específico. En el presente el valor promedio corresponde a cada hora del día.
A. Primer Escenario – Detección de descargas no autorizadas
Para este propósito pueden utilizarse de manera combinada los gráficos en tiempo real y los generados a partir de los datos capturados en la base de datos. Los primeros permiten reconocer al instante que se está utilizando de manera no autorizada la conexión a Internet, si se sobrepasa el límite fijado por el usuario del programa. En el segundo caso el usuario puede utilizar los distintos tipos de gráficos para establecer el volumen de datos y el bitrate promedio, para de esta manera detectar a la estación de trabajo que ha realizado esta actividad.
B. Segundo Escenario – Detección de posibles envíos de spam o replicación de gusanos informáticos
Con la finalidad de detectar este tipo de anomalía el usuario del programa debe tener presente sobre todo al tráfico saliente de las estaciones de trabajo, el uso de cada una de ellas permite analizar este tráfico desde distintas perspectivas, tales como bitrate promedio, cantidad de bytes y reconstrucción temporal.
C. Segundo Escenario – Detección de posibles envíos de spam o replicación de gusanos informáticos
A partir de los datos obtenidos del monitoreo de tráfico de Internet se requiere saber si existe algún comportamiento inusual de una o de varias estaciones de trabajo. Siendo un comportamiento sospecho iniciar una conexión repetitiva a una dirección IP. Este tipo de anomalía describiría un posible ataque, ya que estaría conectándose con la estación de trabajo remotamente infectada para así causar daño en la red local. Para este tipo de análisis se requiere utilizar la herramienta “DNS reverso y ranking para IPs más utilizadas“.
D. Cuarto Escenario – Detección de patrones de comportamiento
Con los datos obtenidos del monitoreo de tráfico de Internet se requiere saber si existe algún comportamiento inusual con alguna estación de trabajo específica, donde las descargas de grandes archivos no están permitidas. El objetivo es verificar si existe un patrón de conexiones repetitivas en horas y periodos regulares del día. Para este tipo de análisis se requiere utilizar la herramienta “Series de tiempo en pasos“. Este tipo de gráfico permite observar con gran facilidad en que momentos del día se registran los picos en los valores de descargas y si estos se repiten a lo lago de los días.
El administrador de red debe aplicar el reglamento interno de la institución o empresa para tomar las respectivas acciones correctivas.
Este documento muestra la forma en que un software generador de gráficos estadísticos del tráfico de red ayuda al administrador de red de manera significativa en la toma de decisiones para la optimización y control del uso del ancho de banda de la conexión a Internet.
Al ser la adquisición de datos basada en la captura de paquetes de tráfico de Internet de una red de área local disminuye la complejidad de instalación pues no requiere realizar cambios significativos a nivel de hardware y se evita el tener que levantar servicios de gestión de red como es el caso de SNMP, cuya implementación puede requerir de mucho esfuerzo en el caso de una red con muchas estaciones de trabajo con sus respectivas limitaciones.
El uso de la metodología de desarrollo de programación extrema facilitó el desarrollo del software ya que se atendió directamente a las necesidades del usuario y con sus continuas iteraciones con el cliente, permitió llegar a un producto innovador y efectivo. De esta forma se ha comprobado que la presente metodología es valedera y eficiente al momento de realizar un software de manera ágil con resultados eficientes.
Esta herramienta que se ha desarrollado con el fin de monitorear el tráfico de Internet se puede también utilizar para realizar estudios sobre los diferentes comportamientos y tendencias sociales de las personas que usan el Internet como forma de acceso al mundo virtual.
Finalmente el costo de licencias para el desarrollo es nulo por la utilización de herramientas gratuitas y de APIs opensource, como es el caso de Java, MySQL y NetBeans, lo cual representa una gran ventaja frente a otras herramientas similares.
IX. REFERENCIAS [1] Stevens, Perdita; Pooley, Rob; “ Utilización de UML en Ingeniería del Software con Objetos y Componentes, ” Traducción de la Primera Edición. Editorial Addison Wesley. España. 2002 [2] Sommerville, Ian; " Ingeniería de software, " Séptima edición. Editorial Addison Wesley. España. 2005 [3] Deitel, Harvey M.; Deitel, Paul J.; “Cómo programar Java,” Quinta Edición. Editorial Pearson [4] Delap, Scott; “Desktop Java Live,” Primera Edición. Editorial SourceBeat. Colorado. 2005 [5] Navidi, William; “Estadística para Ingenieros,” Traducción de la Primera Edición. Editorial McGraw-Hill. México. 2006 [6] Spiegel, Murray R.; Stephens, Larry J.; “ Estadística, ” Tercera Edición. Editorial McGraw-Hill. México. 2002 [7] Stallings, William; “Comunicaciones y Redes de Computadoras,” Sexta Edición. Prentice Hall
Saulo Velasco, nació en la ciudad de Ibarra el 3 de noviembre de 1985. Realizó sus estudios de primaria en el Instituto Inocencio Jácome de San Antonio de Ibarra. Obtuvo su título de Bachiller en Ciencias Físico- Matemáticas en el Colegio Nacional Teodoro Gómez de la Torre de la misma ciudad. Cursó sus estudios universitarios en la Escuela Politécnica Nacional en la carrera Ingeniería en Electrónica y Redes de Información. Actualmente labora en el campo del desarrollo de software. Áreas de interés: informática y redes, animación digital, generative art. (saulo_velasco@hotmail.com)
Galo Efrén Ortega Álvarez , nació en la ciudad de Quito el 25 de marzo de 1983. Realizó sus estudios de primaria en el Instituto Francisco Febres Cordero “La Salle” de Quito. Obtuvo su título en Bachiller en Ciencias Físico-Matemáticas en el Colegio San Luis Gonzaga de la misma ciudad. Cursó sus estudios universitarios en la Escuela Politécnica Nacional en la carrera de Ingeniería en Electrónica y Redes de Información. Actualmente labora en el campo del desarrollo de software con herramientas libres. (galoefren@hotmail.com)
Xavier Alexander Calderón Hinojosa, nació el 16 de Agosto de 1972 en Quito-Ecuador, se graduó en el Colegio La Salle, especialidad Físico- Matemático en el año 1990. En el 2011 obtiene el título de Ingeniero en Electrónica y Telecomunicaciones en la Escuela Politécnica Nacional y en el 2002 se gradúa como Máster en Tecnologías de la Información en Fabricación en la Universidad Politécnica de Madrid. Actualmente trabaja en la Escuela Politécnica Nacional donde es profesor principal a tiempo completo, Miembro del Consejo de Departamento (Departamento de Electrónica y Redes de Información). Jefe del Laboratorio de Informática de la Facultad de Ingeniería Eléctrica y Electrónica y Director Proyecto Semilla. (xavier.calderon@epn.edu.ec)