Rev. Tecnol. – Journal of Technology • Vol. 11 No. 1 - Enero a Junio 2012 - Carlos Arturo Castillo Medina Aplicación de la programación multiobjetivo en la optimización del tráfico generado por un IDS/IPS p. 41-55 Aplicación de la Programación Multiobjetivo en la Optimización del Tráfico Generado por un IDS/IPS1 Application Programming Optimization Multiobjective in Traffic Generated by an IDS / IPS Carlos Arturo Castillo Medina2 Resumen Abstract El presente artículo muestra de una manera clara y sencilla el entorno de trabajo de los IDS/IPS, los conceptos de la Programación Multi – Objetivo, un recuento de los modelados de tráfico y como articulando estos tres elementos por medio de la programación multi – objetivo se puede desarrollar un modelo que permita llegar a optimizar el tráfico en el ambiente de trabajo de los IDS/IPS. This paper presents a clear and simple way the working environment of the IDS/IPS, the concepts of Programming Multi - Objective, a count of traffic modeled and articulating these three elements through the programming multi objective can develop a model to optimize traffic reach in the work environment of the IDS/IPS. Keywords: IDS/IPS, optimization, network traffic. Palabras Claves: IDS/IPS, optimización, tráfico en redes. 1. Recibido: 26/02/2012. Aprobado: 22/03/2012 Reporte de caso. 2. Universidad El Bosque. Grupo Redes de Telecomunicaciones. 41 Rev. Tecnol. – Journal of Technology • Vol. 11 No. 1 - Enero a Junio 2012 - Carlos Arturo Castillo Medina Aplicación de la programación multiobjetivo en la optimización del tráfico generado por un IDS/IPS p. 41-55 I. Introducción En la actualidad el concepto de Seguridad Informática viene muy ligado a parámetros de software y hardware de los cuales pueda una Organización disponer para proteger el principal activo que dispone, el cual está representado por la Información; se pueden encontrar dispositivos de hardware como los Firewall [1] que permite una seguridad de tipo perimetral, hasta desarrollos de software muy sofisticados cuya finalidad es “creer que somos invulnerables” a los ataques que se puedan dar a nuestra organización. Sin embargo, estos dispositivos tienen consigo una serie de costos asociados “invisibles”, que pueden generar desconfianza en quien los usa. Uno de estos costos son los asociados a los rendimientos del sistema en materia de latencia de la Red [2], de tal manera que el análisis y monitoreo de la red permite, en un momento determinado, convertirse en pieza fundamental cuando se piense muy bien en la adquisición de dispositivos o aplicativos que nos brinden seguridad en la información que se maneja o transporta por nuestra red. Estos dispositivos reciben el nombre de IDS/IPS [3] [4]. de información [10] [11], a continuación se describen brevemente los ataques según su tipo [12]: Denegación de Servicio (DoS). Estos ataques tratan de detener el funcionamiento de una red, máquina o proceso; en caso contrario denegar el uso de los recursos o servicios a usuarios autorizados [Mar01]. Hay dos tipos de ataques DoS; por un lado ataques de sistema operativo, los cuales tratan de explotar los fallos en determinados sistemas operativos y pueden evitarse aplicando los respectivos parches; y ataques de red, que explotan limitaciones inherentes de los protocolos e infraestructuras de red. Indagación o exploración (probing). Este tipo de ataques escanean las redes tratando de identificar direcciones IP válidas y recoger información acerca de ellas (servicios que ofrecen, sistemas operativos que usan). A menudo, esta información provee al atacante una lista de vulnerabilidades potenciales que podrían ser utilizadas para cometer ataques a los servicios y a las máquinas. Estos ataques son los más frecuentes, y a menudo son precursores de otros ataques. En este sentido, el presente artículo mostrará las características de los IDS/IPS, los conceptos básicos de la programación multiobjetivo y su papel en la toma de decisiones a priori o a posteriori de una situación determinada [5]; igualmente se presentarán los diferentes modelos de tráficos de red, por último se comenzará a dejar relacionado el escenario en donde confluyen estos tres conceptos, de tal manera que permitan dar el soporte necesario en el entendimiento del proyecto de grado que lleva por título el nombre del artículo, en donde una de las características fundamentales es encontrar la correlación [6] [7] (si es que existe) entre las variables que puedan definir el tráfico de una red LAN y las variables que son alteradas por el uso de los IDS/IPS de tal manera que al aplicar un modelo de optimización multiobjetivo [8] [9] al comportamiento de los IDS/IPS se pueda llegar a obtener una optimización en el tráfico de la Red LAN. R2L (Remote to Local). Este tipo de ataque se produce cuando un atacante que no dispone de cuenta alguna en una máquina, logra acceder (tanto de usuario como root) a dicha máquina. En la mayoría de los ataques R2L, el atacante entra en el sistema informático a través de Internet. II. Tipos de Ataques que sufren los Sistemas de Información En forma sistémica las redes de computadoras se consideran compuestas por el tráfico que fluye por toda la red, por usuarios que generan demandas a la red, y por algoritmos de distribución de parte de la red que controlan la asignación de recursos de ésta (compuesto por routers, switches y en general cualquier elemento que En la actualidad se pueden encontrar sistemas de seguridad que permiten hacer un control sobre los diferentes ataques que puede sufrir una organización en sus sistemas 42 U2R (User to Root). Este tipo de ataque se da cuando un atacante que dispone de una cuenta en un sistema informático es capaz de obtener mayores privilegios explotando vulnerabilidades en los mismos, un agujero en el sistema operativo o en un programa instalado en el sistema. Ante estas amenazas se vio la necesidad de definir diferentes estrategias para garantizar la confidencialidad, integridad, la disponibilidad y el no repudio de la información. III. Conceptos Básicos de los IDS/IPS Rev. Tecnol. – Journal of Technology • Vol. 11 No. 1 - Enero a Junio 2012 - Carlos Arturo Castillo Medina Aplicación de la programación multiobjetivo en la optimización del tráfico generado por un IDS/IPS p. 41-55 se considere servidor de recursos) [13] [14] [15]. En este sentido, las empresas han optado por utilizar los llamados IDS/IPS1 [16] [17], para proteger sus recursos informáticos [18], por una parte, de los ataques que se puedan dar por parte de intrusos, y por la otra, de vulnerabilidades que se presenten en el diseño e implementación de la Red. En términos generales se puede decir que un IDS es, un elemento que escucha y analiza toda la información que circula por una red de datos e identifica posibles ataques. Cuando aparece un ataque, el sistema reaccionará informando al administrador y cerrará las puertas al posible intruso reconfigurando elementos de la red como firewalls y routers [2]. Dado que los IDS han sido estudiados desde hace bastantes años, existe gran diversidad de formatos y arquitecturas. Es por tanto que desde hace algún tiempo se está realizado un esfuerzo por unificar, en la medida de lo posible, la arquitectura y los formatos de los IDS [19]. Por lo tanto, para este artículo se tomará la arquitectura definida por el CIDF2 [20]. La visión tomada por el CIDF para los Sistemas de Detección de Intrusos está basada en cuatro componentes que son: • • • • Generador de Eventos (E-Boxes). Motor de Análisis (A-Boxes). Unidad de Almacenaje (D-Boxes). Unidades de Respuestas (R-Boxes). Fig. 2 Arquitectura de un IDS, según CIDF Fig. 1 Esquema General de un IDS tomado de [12] Los sistemas de detección de intrusos suelen estar formados por: los sensores, los analizadores y la interfaz de usuario. Los sensores tienen la responsabilidad de coleccionar datos de interés y enviar esta información a los analizadores. Los analizadores determinan si ha ocurrido o está ocurriendo una intrusión y presentan pruebas de esta afirmación, proporcionando el tipo de intrusión detectada y, en muchos casos, proponen o ejecutan un grupo de medidas de actuación contra ellas. [12]. 1. IDS: Sistemas de Detección de Intrusos, tomado de las siglas en inglés: Intrusion Detection Systems. IPS: Sistemas de Prevención de Intrusos, tomado de las siglas en einglés: Intrusion Prevention Systems. Los cuatro componentes intercambian información en forma de GIDOS3, que son representados por un formato común (definido en el CISL). Un GIDO codifica un hecho que ha ocurrido en un momento en particular, ó alguna conclusión acerca de un conjunto de eventos, ó una instrucción que lleva a cabo una acción. De forma muy simplificada las características de estos cuatro elementos son [21]: A. Generador de Eventos Los generadores de eventos, sensores o sondas, como suelen llamarse algunas veces, tienen como objetivo la 2. Common Intrusion Detection Framework 3. GIDOS: Generalized Intrusion Detection Objects. 43 Rev. Tecnol. – Journal of Technology • Vol. 11 No. 1 - Enero a Junio 2012 - Carlos Arturo Castillo Medina Aplicación de la programación multiobjetivo en la optimización del tráfico generado por un IDS/IPS p. 41-55 obtención de datos del exterior del sistema de detección de intrusos. Son los “ojos” del IDS. Las entradas de los generadores de eventos serán los datos en bruto del entorno exterior al IDS. A su salida presentará esos datos procesados en forma de eventos comprensibles por el resto de los componentes. Los generadores pueden ser diversos, dependiendo del tipo de datos que recogen, aunque su funcionamiento a nivel conceptual suele ser muy similar. Reciben los datos de entrada, los pre procesan para pasarlos a un formato común al resto de los componentes y proporcionan los eventos al resto de componentes prácticamente en tiempo real. B Motor de Análisis El motor de análisis es el núcleo de los IDS. Es el motor de inferencia que, gracias a unos conocimientos, será capaz de discernir la relevancia de los eventos recibidos de las E-boxes y generar nuevos eventos como salidas. Estos motores de análisis pueden ser de muchos tipos, sistemas estadísticos de profiling, reconocedores de patrones, sistemas de correlación de eventos, etc. Los motores de análisis han sido el componente que ha estado sujeto a mayor desarrollo puesto que sobre él recae la responsabilidad de analizar el flujo de eventos y de extraer información relevante. Es por tanto uno de los componentes más críticos y más complejos de un sistema de detección de intrusos. C. Unidad de Almacenaje Este componente es el encargado de almacenar físicamente las inferencias del motor de análisis. Contendrá todos los eventos generados por las A-boxes y normalmente se organizan en forma de bases de datos. Es por tanto un componente esencial a la hora de aplicar técnicas de datamining y correlación de datos como fuentes de información forense. D. Unidad de Respuestas: Las unidades de respuesta son los componentes encargados de realizar acciones en nombre de otros componentes del sistema. Este componente suele emplearse para desplegar unidades que ejecuten contramedidas ante una intrusión. Es decir, permiten al sistema reaccionar de forma activa ante las acciones procesadas por otros componentes. Estas acciones pueden ser muy variadas, aunque en la gran mayoría de los casos están orientadas a prevenir ataques de fuentes maliciosas previamente detectadas o a cortar un 44 ataque en curso. Cuando el sistema cumple lo anterior se dice que además de ser un sistema de detección de intrusos (lo cual implica pasividad), se le concede la denominación de sistema de prevención de intrusos o IPS . En general, un IPS suele autocontener la noción de IDS, no obstante algunos investigadores prefieren denominar a dichos sistemas como I(D\P)S. Existen distintos tipos de IDS, atendiendo a distintas clasificaciones establecidas de acuerdo a las características que se usen para establecer dicha clasificación. Cada uno de ellos se caracteriza por diferentes aproximaciones de monitoreo y análisis y presenta distintas ventajas y desventajas. La Fig. 3 muestra una posible clasificación de los IDS [12]: Fig. 3 Clasificación de los IDS. IV. Tendencias de los IDS [22]. A. Detección de Anomalías a Nivel de Aplicación En la actualidad la detección de datos de intrusión en el contenido de los paquetes se realiza mediante el análisis de firmas. En cambio, el contenido o carga útil (payload) de una conexión es altamente variable, por lo que es mucho más difícil de caracterizar y analizar. Por otro lado, cada vez es más frecuente el tráfico cifrado, lo cual hace más difícil su análisis. En estos últimos tiempos se han realizado varios trabajos que tratan de utilizar dicho contenido para la detección. En muchos de los trabajos, suelen incluir ciertas características del campo de datos, aunque éstas son meramente estadísticas de tipo: número de bytes, etc. B. Correlación de Alertas La correlación de alertas es un tema muy en boga en estos últimos tiempos. Ante la gran cantidad de alertas que generan los IDS (pueden lanzar miles de alarmas al Rev. Tecnol. – Journal of Technology • Vol. 11 No. 1 - Enero a Junio 2012 - Carlos Arturo Castillo Medina Aplicación de la programación multiobjetivo en la optimización del tráfico generado por un IDS/IPS p. 41-55 día, pudiendo ser falsas el 99% de las mismas), la gestión o revisión de las mismas se convierte en una tarea muy complicada y la carga de trabajo se multiplica para los administradores de sistemas. La mayoría del trabajo realizado en esta área se ha enfocado en la colección de alertas de múltiples detectores en un único lugar donde poder mostrarlos, consultarlos o correlacionarlos. Por ello, se comienzan a utilizar diferentes técnicas de correlación también llamadas fusión de datos o de información para tratar de minimizar dicho impacto y también para reducir la cantidad de falsas alarmas. C. Lógica Fuzzy Los sistemas de detección de intrusos basados en la lógica fuzzy [23] o lógica difusa han ido tomando fuerza en los últimos años. El primer trabajo sobre el uso de la aplicación de la lógica fuzzy en el área de la seguridad informática que se conoce es el de T.Y. Lin, de la universidad norteamericana del estado de San José. Sin embargo, ha sido a partir del año 2000 cuando comienzan a realizarse multitud de trabajos sobre detección de intrusos que incorporan componentes de la lógica fuzzy. D. Sistemas Inmunes Artificiales Los sistemas inmunes artificiales se consideran como un sistema análogo al sistema inmune natural. El sistema inmune es el encargado de la defensa del organismo; controla lo que se introduce en él y lo identifica como propio o no propio (self / non-self). El organismo trata con ello de asegurar que los mecanismos defensivos que activan el sistema inmunitario (Respuesta Inmune) se orienten contra aquello que lo puede dañar y evitar, por lo tanto, dañarse así mismo. E. Modelos Markov Los modelos de Markov son un tipo de aprendizaje basado en secuencias. Se pueden distinguir, entre otros, las cadenas de Markov y los modelos ocultos de Markov (HMM ó Hidden Markov Models). Una cadena de Markov es una secuencia de eventos, donde la probabilidad del resultado de un evento depende sólo del resultado del evento anterior. De esa misma manera, los HMM son una técnica probabilística para el estudio de series en el tiempo. F. Inteligencia Computacional [24] La aplicación de la inteligencia artificial en la seguridad informática, y en concreto en la detección de ataques, ha sido evidenciada en diferentes investigaciones, así como la integración de los sistemas basados en agentes móviles y autónomos en el problema de detección de intrusiones. Algunos de los desarrollos más relevantes proponen modelos estadísticos donde aplicando matemática probabilística se puede determinar la sensibilidad de un sistema ante posibles ataques combinando sus probabilidades. Las Redes Neuronales Artificiales ayudan al proceso predictivo basado en patrones conocidos o desconocidos, éstas pueden ser usadas para lograr una técnica eficiente de aprendizaje que permita clasificar los diferentes tipos de datos (a través de soluciones heurísticas) y optimizar la búsqueda de patrones a partir de valores y firmas ya existentes. En nuestra investigación hemos hecho algunas simulaciones con resultados eficientes de predicción aplicando aprendizaje supervisado y No supervisado. V. Conceptos de Programación Multiobjetivo La vida misma involucra la toma de decisiones que permiten el cambio y búsqueda de compromisos. Es natural que siempre se quieran tomar las mejores decisiones, en otras palabras, que estas decisiones sean óptimas [25]. Sin embargo muchas de estas decisiones son tomadas al azar, ó de forma intuitiva. Ahora bien, existen áreas en donde el modelamiento matemático y la programación son necesarias, como lo es la ingeniería o la economía [26], en donde muchas decisiones son apoyadas por estos procesos que fundamentan la toma de decisiones en hechos o comportamientos pasados que permiten, en un momento determinado, al tomador de decisiones tener un soporte modelado matemáticamente [27]. Por su parte, la Investigación Operativa se puede definir como la aplicación de métodos científicos en la mejora de la efectividad en las operaciones, decisiones y gestión, o como la ciencia de aplicar los recursos disponibles para conseguir la satisfacción óptima de un objetivo específico deseado [28]. En este sentido, dentro de la Investigación Operativa se encuentran disciplinas típicas como es el caso de la Optimización, en donde se encuentran metodologías propias como lo es la Programación Lineal (LP), Programación No Lineal (NLP), Programación Entera (EP), Programación Dinámica (DP), Programación Multiobjetivo (MP), Flujos de Redes, Simulación, Teoría de Colas, Teoría de la Decisión y de Juegos [5]. La Optimización consiste en la selección de una alternativa mejor, en algún sentido, que las demás alternativas posibles. Los problemas de Optimización se 45 Rev. Tecnol. – Journal of Technology • Vol. 11 No. 1 - Enero a Junio 2012 - Carlos Arturo Castillo Medina Aplicación de la programación multiobjetivo en la optimización del tráfico generado por un IDS/IPS p. 41-55 componen de tres elementos [28]: A. Función Objetivo Es la medida cuantitativa del funcionamiento del sistema que se desea optimizar (maximizar ó minimizar). Como ejemplo llevado al sector de las telecomunicaciones se podría citar, maximizar el ancho de banda de un canal, maximizar la potencia de un transmisor, minimizar los costos asociados a un enlace. B.Variables Representan las decisiones que se pueden tomar para afectar el valor de la función objetivo. Desde un punto de vista funcional se pueden clasificar en variables independientes o de control y variables dependientes o de estado, aunque matemáticamente todas son iguales. C.Restricciones Representan el conjunto de relaciones (expresadas mediante ecuaciones e inecuaciones) que ciertas variables están forzadas a satisfacer. En este contexto, cuando se resuelve un problema de optimización lo que se busca es encontrar el valor que deben tomar las variables de tal forma que satisfaga las restricciones y optimice (maximice o minimice) la función objetivo [7] . Ahora bien, teniendo en cuenta lo anterior, la Programación por Metas ó Programación Multiobjetivo (MP) (Goal Programming) fue inicialmente introducida por Charnes y Cooper en los años 50. El trabajo pretendía desarrollar un método que permitiera determinar las compensaciones salariales a los ejecutivos de una importante compañía (General Electric). La situación problema exigió la introducción de restricciones y condiciones de signo en algunos de los coeficientes de regresión lo que hizo imposible recurrir a los métodos tradicionales de regresión. Dada la insuficiencia de las técnicas estadísticas clásicas para abordar este tipo de problema estos autores formularon un modelo de regresión con restricciones (“constrained regression”) en el que se minimiza la suma de las desviaciones absolutas. Dado que la desviación absoluta es una forma no lineal que no puede optimizarse de una manera directa, Charnes y Cooper linealizaron el modelo introduciendo, por primera vez en la literatura, variables de desviación positivas y negativas. El valor seminal de este trabajo es enorme al menos por dos tipos de razones. En primer lugar, representa el embrión de la 46 metodología PM. En segundo lugar, representa el nacimiento de los métodos de regresión no paramétricos [29] [30]. Desarrollada en los años 70 por Ljiri, Lee, Ignizio y Romero, en donde los trabajos realizados por Ignazio la situación problémica se centraba en el campo de la ingeniería en la organización del sistema de antenas para el proyecto Saturno/Apolo. Este problema implicaba metas múltiples, funciones no lineales, así como variables enteras. Ignizio consiguió obtener soluciones razonables (satisfacientes) mediante la adaptación del concepto de PM introducido por Charnes y Cooper [29]. En la actualidad la Programación Multiobjetivo es uno de los enfoques multicriterio que más se utilizan. En principio fue dirigida a resolver problemas industriales, sin embargo posteriormente se ha extendido a muchos otros campos como la ingeniería, economía, agricultura, recursos ambientales, recursos pesqueros, etc. Resulta de gran interés, sobre todo, en problemas complejos de gran tamaño [31] [32]. Filosóficamente la MP se apoya en el concepto de soluciones satisfacientes introducido por Herbert Simon en 1956 que conduce a una teoría de la racionalidad acotada (bounded rationality) con profundas raíces psicológicas y que representa una clara alternativa a las teorías clásicas basadas en una racionalidad perfecta. El término satisfaciente deriva de un término en escocés antiguo (“satisficing”), que intenta fusionar los términos satisfactorio y suficiente. Simon conjetura que en las complejas organizaciones actuales (grandes empresas, agencias gubernamentales, sindicatos, etc), el contexto decisional está definido por información incompleta, recursos limitados, multiplicidad de objetivos, conflicto de intereses, etc. En este tipo de contexto, el centro decisor no está en condiciones de maximizar nada, y menos una bien definida función objetivo como supone el análisis económico tradicional. Por el contrario, Simon conjetura que en este tipo de contexto decisional complejo, el centro decisor no optimiza, porque no puede, pero si intenta en cambio obtener soluciones satisfacientes, en el sentido de ser satisfactorias y suficientes. Este tipo de cambio de lógica situacional, de la optimización a la búsqueda de soluciones satisfacientes, implica asumir que el centro decisor en vez de maximizar o minimizar una determinada función objetivo intenta que una serie de metas relevantes para su problema se aproximen lo más posible a Rev. Tecnol. – Journal of Technology • Vol. 11 No. 1 - Enero a Junio 2012 - Carlos Arturo Castillo Medina Aplicación de la programación multiobjetivo en la optimización del tráfico generado por un IDS/IPS p. 41-55 unos niveles de aspiración fijados de antemano. Es decir, el centro decisor busca soluciones razonables (satisfacientes) mediante el máximo cumplimiento posible de unos determinados niveles de aspiración. Así, podemos decir que la PM constituye un marco analítico diseñado para analizar problemas complejos de análisis de la decisión, en los que el centro decisor ha asignado niveles de aspiración a todos los atributos relevantes para el problema en cuestión [29]. Los autores que formularon los primeros modelos de programación por objetivos, consideraron al menos de una manera implícita que estos modelos multiobjetivo consistían simplemente en prolongaciones y extensiones de los modelos de programación lineal. Trabajos posteriores de otros autores, han venido a demostrar exactamente lo contrario [33]. Centrando el trabajo a la interpretación matemática de un problema de MP se puede decir que es cuando el decisor considera que su problema de decisión puede plantearse matemáticamente mediante la optimización simultánea de varias funciones objetivo, es decir que aparece la denominada Optimización Vectorial o Programación Multiobjetivo [34]: VI. Definición Formal de un Problema de Programación Multiobjetivo El presente apartado está tomado de [35]: “… El Problema de Optimización Multiobjetivo (POM) (llamado también multicriterio o vectorial) puede definirse como el problema de encontrar: “un vector de variables de decisión que satisfagan un cierto conjunto de restricciones y optimice un conjunto de funciones objetivo. Estas funciones forman una descripción matemática de los criterios de desempeño que suelen estar en conflicto unos con otros y que se suelen medir en unidades diferentes”. El término “optimizar” en este caso toma pues un significado diferente al del caso de problemas mono-objetivo. Las restricciones de desigualdad: Las restricciones de igualdad: Y optimice la función vectorial: Para poder determinar qué tan “buena” es una cierta solución, es necesario contar con algún criterio para evaluarla. Estos criterios se expresan como funciones computables de las variables de decisión a las que se denomina funciones objetivo. En problemas del mundo real, algunas de estas funciones objetivo suelen estar en conflicto entre sí, y algunas deben minimizarse mientras otras han de maximizarse. Las funciones objetivo pueden ser conmesurables (medidas en las mismas unidades) o no conmesurables (medidas en unidades distintas). Un conjunto (o región) de puntos se define como un conjunto convexo en un espacio n-dimensional si, para todos los pares de puntos y en el conjunto, el segmento rectilíneo que los une está también enteramente dentro del conjunto [36]. De tal forma, todo punto , donde: Está también en el conjunto. El Problema de Optimización Multiobjetivo (POM) general se define formalmente de la manera siguiente: Encontrar el vector Que satisfaga Fig. 4 Conjunto Convexo. Imagen tomada de [35] A. Vector Objetivo Ideal Vector de variables de decisión correspondiente a los óptimos (factibles) considerando a cada una de las funciones 47 Rev. Tecnol. – Journal of Technology • Vol. 11 No. 1 - Enero a Junio 2012 - Carlos Arturo Castillo Medina Aplicación de la programación multiobjetivo en la optimización del tráfico generado por un IDS/IPS p. 41-55 objetivo del problema como aisladas. Nótese que el vector ideal es inalcanzable, excepto en el caso en que no existe ningún conflicto entre las funciones objetivo del problema. de los vectores óptimos se pueden extraer por simple inspección. Dichos vectores son aquellos en donde ninguno de sus componentes puede causar deterioro al resto de los otros componentes [26]. Una definición mucho más formal de la Optimalidad de Pareto, se puede expresar como: Se dice que un vector de variables de decisión es un óptimo de Pareto si no existe otro para toda y para al menos una j [35]. En otras palabras, esta definición dice que es un óptimo de Pareto si no existe ningún vector factible de variables de decisión que decremente algún criterio sin causar un incremento simultáneo en al menos un criterio. Desafortunadamente, este concepto casi siempre produce no una solución única sino un conjunto de ellas a las que se les llama conjunto de óptimos de Pareto. Los vectores correspondientes a las soluciones incluidas en el conjunto de óptimos de Pareto son llamados no dominados. Fig. 5 Vector Objetivo Ideal Para un problema multiobjetivo dado , el conjunto de óptimos de Pareto ( ) se define como: B. Tipos de Problemas Multiobjetivo Existen tres tipos de situaciones que pueden presentarse en un problema multiobjetivo: • Minimizar todas las funciones objetivo • Maximizar todas las funciones objetivo • Minimizar algunas funciones y maximizar otras. Por cuestiones de simplicidad, normalmente todas las funciones se convierten ya sea a un problema de maximización o a uno de minimización. Se puede usar la siguiente identidad para convertir todas las funciones a maximizarse de manera que correspondan a un problema de minimización: C. Optimalidad de Pareto En un problema de optimización de una sola variable, la atención se centra en encontrar el espacio de la variable de decisión. Por su parte en un problema multiobjetivo el interés se centra en el espacio objetivo. Por otra parte tener claro que en este tipo de problemas no es posible encontrar una simple solución que permita optimizar todas las funciones objetivos simultáneamente. Algunos 48 La gráfica de las funciones objetivo cuyos vectores no dominados se encuentran en el conjunto de óptimos de Pareto se denominan frente de Pareto. Para un problema multiobjetivo dado , el conjunto de óptimos de Pareto ( ) , el frente de Pareto ( ) se define como: En general, no es fácil encontrar una expresión analítica de la línea o superficie que representa los valores de lso vectores no dominados en el espacio de las funciones objetivo y, en la mayor parte de los casos, resulta simplemente imposible obtenerla. El procedimiento normal para generar el frente de Pareto es calcular todos los puntos factibles y obtener sus valores correspondientes . Cuando se cuenta con un número suficiente de estos puntos, es posible determinar los no dominados de entre ellos. D. Clasificación de las Técnicas de Programación Matemática Ha habido varios intentos por clasificar las diversas técnicas de programación matemática que existen para resolver Rev. Tecnol. – Journal of Technology • Vol. 11 No. 1 - Enero a Junio 2012 - Carlos Arturo Castillo Medina Aplicación de la programación multiobjetivo en la optimización del tráfico generado por un IDS/IPS p. 41-55 problemas multiobjetivo. De primera instancia, resulta fundamental distinguir las dos etapas en las que puede dividirse la solución de un problema multiobjetivo [37]: la optimización de las diversas funciones objetivo involucradas y el proceso de decidir qué tipos de “compromisos” son más convenientes desde la perspectiva del tomador de decisiones (a este segundo proceso se le denomina “Toma de Decisiones multicriterio”. Es muy común adoptar la propuesta de Cohon & Marks (1975) porque dichos autores enfocan su clasificación hacia la forma en la que cada técnica maneja los dos sub-problemas principales de la optimización multiobjetivo, la cual corresponde a buscar la solución y tomar la decisión. Dichas técnicas son: Articulación A priori de Preferencias: Tomar decisiones antes de buscar (decidir => buscar). Articulación A posteriori de Preferencias: Buscar antes de tomar decisiones (buscar => decidir). Articulación Progresiva de Preferencias: Integrar la búsqueda con la toma de decisiones (decidir buscar). VII. Tráfico en las Redes LAN La teoría de tráfico consiste en la aplicación de modelos matemáticos para explicar la relación que existe entre la capacidad de una red de comunicaciones, la demanda de servicio que los usuarios le imponen y el nivel de desempeño que la red puede alcanzar. Como dicha demanda es de naturaleza aleatoria, se suele representar mediante algún proceso estocástico adecuado, con lo que se constituyen diferentes Modelos de Tráfico. A lo largo del desarrollo de las redes de comunicaciones en los últimos cien años, se han propuesto diferentes modelos de tráfico, cada uno de los cuales ha resultado útil dentro del contexto particular para el que se propuso. Esto es, al utilizar estos modelos en el estudio de desempeño de redes (mediante análisis o simulación), se obtienen resultados estadísticamente significativos [38]. A. Criterios de Selección de un Modelo El objetivo básico de un Modelo de Tráfico es el de ser capaz de imitar el “comportamiento” del tráfico real. Sin embargo, esta cualidad, la correspondencia con la realidad, no es el único baremo que debe considerarse a la hora de elegir una estrategia de modelado. Así resultan de especial interés otros aspectos, tales como [39]: La tratabilidad analítica del modelo, esto es, la capacidad intrínseca del modelo de arrojar resultados analíticos, sin necesidad de simulación. La facilidad de implementación, ya sea vía software para proceder a simulaciones o vía hardware con el objetivo de disponer de un generador de tráfico sintético en tiempo real. Esta característica exige simplicidad no sólo a la propia estructura del modelo sino también a la algoritmia y a los costes computacionales que exige su implementación. Capacidad de modelar otros tipos de tráfico y, en especial, tráfico agregado. En numerosas ocasiones se puede exigir de un modelo, en especial de los generalistas, la ductilidad suficiente para que, mediante ciertos cambios de sus parámetros, este sea capaz de imitar otros tipos de tráficos o incluso el propio tráfico agregado que resulta de multiplexar sobre un canal varias fuentes individuales. Teniendo en cuenta los anteriores puntos, la determinación del modelo es crucial en la realización del proyecto, ya que con él se pueden obtener excelentes acercamientos al comportamiento del sistema en la realidad, sin embargo si los parámetros a tener en cuenta han sido mal enfocados y se toma un modelo que no responda a nuestras necesidades, se ha perdido tiempo muy importante. Así pues, dado un Modelo de Tráfico particular, el desempeño de la red se podría predecir, en principio, aplicando herramientas adecuadas proporcionadas principalmente por la Teoría de Procesos Estocásticos y otros recursos matemáticos [40]. Los resultados de dicho análisis de desempeño son los puntos de partida para el diseño de mecanismos de control de la red en aspectos tan variados como el control de admisión, el control de flujo, el control de congestión, el control de la memoria en las colas, la asignación de recursos (especialmente la administración dinámica del ancho de banda en los enlaces y de la memoria en los buffers de transmisión), el caché dinámico, el enrutamiento dinámico adaptable, etc. [38] B. Análisis de Conductas de los Nodos (usuarios) de una Red LAN Se han propuesto diferentes métricas para describir y comparar las conductas de los nodos de red (usuarios) individuales en los ambientes de redes LAN (cableadas y/o wireless), a partir de la colección de trazas de nodos de red. Estas métricas corresponden a diferentes aspectos de las conductas de asociaciones de nodos de red en una LAN, siendo algunas más apropiadas para las redes cableadas y otras para las redes wireless. Por ejemplo, 49 Rev. Tecnol. – Journal of Technology • Vol. 11 No. 1 - Enero a Junio 2012 - Carlos Arturo Castillo Medina Aplicación de la programación multiobjetivo en la optimización del tráfico generado por un IDS/IPS p. 41-55 pueden observarse las siguientes propuestas de métricas y definiciones para entender la conducta individual del nodo [41]: a) Actividad online de los usuarios: Esta categoría captura la frecuencia de participación online de un usuario en la red. E. Preprocesamiento de la Serie: Es frecuente que se presenten algunos valores perdidos dentro de la serie de tráfico. Estos generalmente se deben a varias razones entre las cuales se destacan las siguientes cuatro: 1. el router puede estar caído debido a mantenimiento del mismo, o por un reinicio accidental de este; b) Movilidad de largo plazo de los usuarios: Esta categoría captura como se mueve un nodo en la red a largo plazo (para la duración total de las trazas), y como el tiempo online del nodo de red está distribuido entre los access points. 2. el router puede estar ocupado resolviendo solicitudes SNMP; 3. la conexión inalámbrica entre el router y la estación de monitorización de tráfico puede estar temporalmente perdida o caída; y c) Movilidad de corto plazo de los usuarios: Esta categoría captura como los nodos de red se mueven en la red mientras permanecen asociados con algún access point. La intención aquí es capturar la movilidad de un nodo de red mientras usa la red. d) Patrones de asociación repetitivos de los usuarios: Esta categoría captura la conducta on-off del usuario con respecto a la hora del día y la locación. Esperamos que los usuarios tiendan a mostrar estructura repetitiva en sus patrones de asociación. e) Tráfico de los usuarios: Esta categoría captura la tendencia de un usuario para utilizar ciertos protocolos con sus anchos de banda asociados. f) Prevalencia de access points: Es la medida de la fracción de tiempo que un nodo gasta con un access point dado. g) Persistencia de access points: Es la medida de cantidad de tiempo que un usuario permanece asociado con un access point antes de moverse a otro access point, o dejar la red. C. Desarrollo de un Modelo de Tráfico [42] En el desarrollo de un Modelo de Tráfico se hace necesario seguir una metodología para su correcto desarrollo, es así como se pueden seguir los siguientes pasos: D. Extracción de la Serie El primer paso en el desarrollo de cualquier Modelo de Tráfico es tomar una muestra de datos, con los se pueda caracterizar el tráfico de un tipo de red predeterminada. 50 4. la solicitud y respuesta de los paquetes SNMP (Simple Network Management Protocol) puede haberse perdido ya que ellos son transportados usando el protocolo UDP (User Datagram Protocol es un protocolo no confiable). Para el tratamiento de los valores perdidos existen dos opciones: (1) ignorar los datos perdidos, o (2) estimar los valores perdidos. F. Identificación del Modelo: Debido a que uno de los objetivos de cualquier tipo de estudio de modelos es la comparación, bien sea entre modelos ó con resultados existentes tomados de la realidad, es decir construir varios Modelos de Tráfico basados en diferentes tipos de series de tiempo y analizar cuál de ellos es el mejor estimador del tráfico en estudio. Para este punto es necesario conocer qué tipos de modelos de tráfico existen, a saber se tiene: G. Modelos de Tráfico no Correlacionados Cuando se agrega el tráfico proveniente de una gran cantidad de usuarios independientes entre ellos, es de esperar que los tiempos entre llegadas de demandas (paquetes, llamadas, flujos, conexiones,...) a los nodos de ingreso a la red sean no correlacionados, a menos que la magnitud de las demandas (longitud de los paquetes, duración de las llamadas,...) tengan algún tipo de dependencia de rango largo. Esta suposición de independencia respecto al tráfico que ingresa a la red permitió el desarrollo de casi toda la Teoría de Colas, la cual constituye la más exitosa herramienta matemática hasta ahora usada en el análisis y control de redes de comunicaciones [38]. Dentro de esta categoría se encuentran los siguientes modelos: Rev. Tecnol. – Journal of Technology • Vol. 11 No. 1 - Enero a Junio 2012 - Carlos Arturo Castillo Medina Aplicación de la programación multiobjetivo en la optimización del tráfico generado por un IDS/IPS p. 41-55 a. Modelos de Tráfico sin Memoria En este tipo de modelos los procesos que se analizan son aquellos en donde la variable es estocástica y toma valores no negativos, es decir, procesos de Poisson con tasa lambda. Son adecuados para modelar el tráfico de las conversaciones telefónicas o el tráfico interactivo de datos, en donde una gran cantidad de usuarios son similares e independientes. Los tiempos entre llegadas se denominan T, son independientes y exponencialmente distribuidos con promedio de uno sobre lambda, de modo que el tiempo que toca esperar hasta observar la próxima llegada es independiente del momento en que se empiece a examinar, a lo cual se conoce como “falta de memoria” [38]. b. Modelos de Renovación Los procesos de renovación son una extensión de los Modelos de Tráfico sin memoria, en los que los intervalos de tiempo entre llegadas de paquetes son independientes e idénticamente distribuidos, aunque no necesariamente exponenciales o geométricos. Además tienen la ventaja de permitir seleccionar una distribución más cercana a la de los tiempos observados entre llegadas. c. Modelos de Tráfico Correlacionados con dependencia de Rango Corto Dados los últimos avances que se vienen desarrollando en materia de aplicaciones y dispositivos para el uso de banda ancha, se hace necesario encontrar herramientas que permitan modelar las características del tráfico real, especialmente las características de los tiempos entre llegadas que no se podían realizar con los modelos de Renovación. Algunos modelos se basan en medir las correlaciones que decaen rápidamente de forma exponencial en el tiempo, es decir, aquellos que representan relaciones muy cortas en tiempo entre sus variables. Entre ellas se puede mencionar: Modelos Markovianos: Este tipo de modelo se encuentra en la paquetización de la voz, en donde cuando existe tráfico es constante de lo contrario se encuentra inactivo y no se generan paquetes. Para poder resolver los tiempos de envío de paquetes y no-envío de paquetes se consideran independientes y exponencialmente distribuidos con promedios de uno sobre lambda1 y uno sobre lambda2 respectivamente, para caracterizar la actividad de los abonados de voz mediante una cadena de Markov de dos estados con tasas de transición lambda1 para envío y lambda2 para no-envío [38]. Modelos Autorregresivos: Estos modelos están diseñados de modo que el comportamiento de una variable en un instante de tiempo depende de valores pasados de la propia variable. Así, si el valor de la variable u en el momento t depende de su valor en el periodo anterior más un término aleatorio se dice que el proceso es autorregresivo de primer orden ( ). Si la relación de dependencia se establece con los p valores anteriores el proceso será autorregresivo de orden . Matemáticamente estos procesos se expresan del siguiente modo [43]: ... Donde es un proceso de ruido blanco y por lo tanto con esperanza nula, varianza constante y covarianza nula. Modelos de Medias Móviles: Los procesos de medias móviles, por su parte, se estructuran estableciendo una relación de dependencia entre la variable que se modeliza y un conjunto de retardos de la variable de ruido blanco . Si sólo existe un retardo de la variable de ruido blanco el proceso será de orden 1, mientras que si existe una combinación lineal de q términos de error de ruido blanco el proceso se denomina , se denota por [43]: ... Modelos ARMA: Los modelos ARMA son el resultado de la combinación de los dos modelos básicos para series estacionarias AR y MA descritos anteriormente, produciendo los modelos ARMA (p, q). Estos métodos modelan las series de tiempo estudiando la estructura de correlación que el tiempo, o el índice, o la distancia induce en las variables aleatorias que originan la serie. d. Modelos de Tráfico Correlacionados con dependencia de Rango Largo Son procesos estocásticos que permiten modelar tráfico para una red de datos, en donde el proceso es 51 Rev. Tecnol. – Journal of Technology • Vol. 11 No. 1 - Enero a Junio 2012 - Carlos Arturo Castillo Medina Aplicación de la programación multiobjetivo en la optimización del tráfico generado por un IDS/IPS p. 41-55 exactamente autosemejante con parámetro Hurst H, y se cumple [38]: Esto es, si y están idénticamente distribuidas para todo y . La autosemejanza se refiere al hecho de que, de acuerdo con la ecuación anterior, las características estadísticas del proceso no varían con la escala. Modelos ARIMA: El acrónimo ARIMA significa modelo autorregresivo integrado de media móvil (AutoRegresive Integrated Moving Average). Cada una de las tres partes del acrónimo se le denomina componente y modela un comportamiento distinto de la serie. Los modelos ARIMA se construyen a partir de los modelos ARMA, pero considerando que la serie en estudio para que sea estacionaria en media tendrá que diferenciarse una serie de veces. Un modelo ARIMA (p,d,q) es un modelo ARMA(p,q) sobre la serie diferenciada d veces. Es decir, su expresión algebraica será [44]: En donde es la serie de las diferencias de orden d y es la serie de los errores que se cometen en la serie anterior. Modelos Wavelet: El análisis Wavelet es una técnica naturalmente adecuada para el estudio de procesos autosemejantes, puesto que está orientado al estudio multiresolución de señales, el cual permite analizar el comportamiento de la señal a diferentes escalas de tiempo simultáneamente [38]. VIII. Modelamiento Multiobjetivo para el Tráfico de un IDS En la actualidad los administradores de redes se enfrentan a problemas muy significativos en aspectos de seguridad informática, dada la multiplicidad de formas que día a día se dan para hackear las Redes LAN. Para dar solución a este problema, se han realizado desarrollos de software muy significativos, como lo son los IDS/IPS. En otras 52 palabras se puede afirmar que en forma sistémica las redes de computadoras se consideran compuestas por el tráfico que fluye por toda la red, por usuarios que generan demandas a la red, y por algoritmos de distribución de parte de la red que controlan la asignación de recursos de esta (compuesto por routers, switches y en general cualquier elemento que se considere servidor de recursos). Por otra parte, para “asegurar” la Red las compañías usan los denominados IDS/IPS en donde para detectar los ataques se utilizan dos técnicas diferentes: uso indebido y de anomalías. En los IDS basados en uso indebido se analiza el tráfico de la red y se compara con unas firmas (rules). Si el tráfico coincide con la firma (p. e. dirección IP, puerto, datos del paquete, etc) entonces el paquete se considerará como ataque. Y en los IDS basados en anomalías se va analizando el tráfico de la red para ver si el comportamiento de los usuarios se clasifica como ataque [12]. Para ello, el IDS genera un autómata en el que asocia las comunicaciones a un determinado estado, y dependiendo de la actividad va cambiando la comunicación de estado hasta que se termine la comunicación o que llegue a un estado que se considera como ataque [45]. Los modelos comentados anteriormente serían perfectos si se tiene actualizada la base de datos de firmas y anomalías con lo que se considera como ataque; y todas sus combinaciones y variaciones posibles [46] [4]. Pero esta labor es imposible ya que no se pueden guardar las firmas de ataques que no se conocen y sería imposible guardar todas las variaciones de cualquier ataque. Además porque el IDS tiene que procesar casi en tiempo real los paquetes ya que de nada sirve que el IDS informe de lo que detectó en días anteriores. En el momento que un IDS toma una decisión, éste puede tomarla de forma correcta o incorrecta, existen cuatro posibles estados [12]: • Falso positivo. También se conoce como falsa alarma y corresponde a tráfico inofensivo que se considera como ataque. • Falso negativo. Ataque que no detecta el IDS. • Verdadero positivo. Evento inofensivo que se etiqueta como tráfico normal. • Ve r d a d e r o n e g a t i v o . A t a q u e d e t e c t a d o correctamente. Rev. Tecnol. – Journal of Technology • Vol. 11 No. 1 - Enero a Junio 2012 - Carlos Arturo Castillo Medina Aplicación de la programación multiobjetivo en la optimización del tráfico generado por un IDS/IPS p. 41-55 Fig. 7 IDS basados en Red Para ser capaces de ver mejoras de funcionamiento, las pruebas de referencia deberían realizarse sobre varias configuraciones de modo que los resultados puedan ser comparados [48] [49]. Las diferencias entre los resultados de las pruebas pueden ser un indicador del efecto que puede ocasionar sobre su funcionamiento. Fig. 6 Posibles Estados en los IDS [12] Lógicamente, el objetivo del IDS es maximizar los aciertos (verdaderos negativos y verdaderos positivos) y minimizar el número de fallos del IDS (falsos positivos y falsos negativos). Las altas tasas de falsos positivos y de falsos negativos pueden minar los motivos para usar un IDS. Los falsos positivos ocupan tiempo y recursos cuando el IDS genera falsas alarmas. Peor aún son los falsos negativos, que son todos los ataques que el IDS falla en detectar. Estas tasas complican la justificación del empleo de un IDS, pudiendo ser consecuencia de su arquitectura y configuración. Además el IDS no debe ocupar recursos innecesarios. La mayor parte de ellos probablemente son falsas alarmas. Para reducir el tiempo de trabajo del IDS, hay que reducir las tasas de falsos negativos y de falsos positivos [47]. Hay que encontrar un modelo que permita determinar una solución que sea viable. Si ya se tiene fijada la arquitectura del IDS, se deberá actuar en la configuración del mismo para regular las tasas de errores. Así pues analizando los efectos que tiene la configuración del IDS, viendo los falsos positivos y negativos que genera, se podrá encontrar un modelo que permita modificar la configuración hasta obtener aquella que proporcione el mayor rendimiento posible atendiendo a las características de la red y a las necesidades de la misma. Los cambios tienen que estar basados en la reacción del IDS a las pruebas a las que se les someten. El número de alarmas tiene que ser comparado con base en la configuración del IDS empleada. De las alarmas se tiene que encontrar información como por ejemplo, si son producidas por un ataque genuino, un falso positivo, o si es posible determinar algunos falsos negativos. Los resultados deberían estar en la zona cercana al lugar donde la tasa de falsos positivos y la de falsos negativos se cruzan, en donde se encontraría un máximo de la función objetivo [50]. Probando la configuración del IDS, se desea encontrar algunos elementos que puedan ayudar a una configuración que lleve al mayor rendimiento posible. Esto revela tres secciones principales de información que es necesario averiguar: Disponibilidad de los métodos de prueba de referencia. Importantes criterios de prueba de configuración basados en la metodología. Estudiar las pruebas de penetración usadas sobre IDS, en lo referente a aspectos como el punto hasta el cual la prueba puede ser usada para mejorar las configuraciones, analizar las ventajas y los puntos débiles de las metodologías y del software empleado, etc. La interrelación de estas variables permitirá desarrollar un modelo matemático multiobjetivo que al aplicar los conceptos de optimización podrán explicar de una mejor forma el comportamiento del tráfico que fluye por una Red LAN, y de acuerdo al criterio del tomador de decisiones pueda mejorar algunos de dichos parámetros. 53 Rev. Tecnol. – Journal of Technology • Vol. 11 No. 1 - Enero a Junio 2012 - Carlos Arturo Castillo Medina Aplicación de la programación multiobjetivo en la optimización del tráfico generado por un IDS/IPS p. 41-55 Referencias [1] P. Eronen and J. Zitting, “An expert system for analyzing firewall rules,” 2000. [2] Y. Sulbaran, “Evaluación de los dispositivos de interconexión a nivel de la capa 2, 3 y 4 del modelo osi,” vol. 4, no. 1, 2005. [3] M. Guimaraes, “Overview of intrusion detection and intrusion prevention,” 2008. [4] C. A. Pérez Rivera, “Aplicación de Redes Neuronales para la Detección de Intrusos en Redes y Sistemas de Información,” vol. XI, no. 27, 2005. [5] H. Taha, Investigación de Operaciones. Madrid: Pearson Educacion, 2004. [6] V. Almenar, Apuntes de Sistemas Lineales. Valencia - España: Editorial de la UPV, 2000. [7] W. Wayne L., Investigación de Operaciones. México: Thomson, 2005. [8] R. Landa Becerra, Algoritmos Culturales Aplicados a Optimización con Restricciones y Optimización Multiobjetivo. México D.F.: Instituto Politécinico Nacional, 2002. [9] M. Arahal, Técnicas de Predicción con aplicaciones en Ingeniería. Sevilla - España: Publicaciones de la Universidad de Sevilla, 2006. [10]M. Gómez, Sistemas de Información.: Alfaomega Grupo Editor, 2007. [11] Consejo de Unión Europea, “Decisión Marco 2005/222. Relativa a los ataques contra los Sistemas de Información,” CNS(2002)0086, 2005. [12] M. I. Giménez Garcia, “Utilización de Sistemas de Detección de Intrusos como Elemento de Seguridad Perimetral,” España, 2008. [13] C. Aracena Urrutia and A. Veliz Portuguez, “Desarrollo del modelo Trace Sampling para Generar Tráfico en Redes IP,” Santiago de Chile, 2005. [14]P. A. Castillo Valdivieso, “Interoperabilidad de Redes Heterogeneas de Computadores,” 2005. [15]B. A. Forouzan, Transmisión de Datos y Redes de Computadores. Madrid - España: Mac Graw Hill, 2007. [16]SANS Intrusion Detection FAQ. http://www.sans.org/ security-resources/idfaq/. [17] insecure. http://insecure.org/. [18] ITIL: Information Technology Infrastructure Library. http:// www.itil-officialsite.com/. [Online]. HYPERLINK “http:// www.itil-officialsite.com/” http://www.itil-officialsite.com/ [19]S. Northcutt, Network Intrusion Detection: An Analyst’s HandBook.: New Riders Publishing, 2000. 54 [20]CIDF. Global Operating Systems Technology Group. [Online]. HYPERLINK “http://gost.isi.edu/cidf/drafts/ architecture.txt” http://gost.isi.edu/cidf/drafts/architecture. txt [21]A. Barrera García-Orea, “Presente y Futuro de los IDS,” Madrid, 2005. [22] U. Zurutuza Ortega, “Sistemas de Detección de Intrusos,” Universidad de Mondragón, pp. 1 - 47, 2004. [23] R. Sielken, Application Intrusion Detection.: University of Virginia. Master of Computer Science, 2005. [24]G. A. Isaza, Andrés Castillo, and M. López, “Ontology Model for Intrusion Detection and Prevention based on Multi-Agent System and Computing Intelegence,” Vector, pp. 38 - 49, 2009. [25]M. Arenas Parra, Aplicación del Entorno MATLAB a la Programación Multiobjetivo en Ambiente Difuso. España: ASEPUMA, 1999. [26]M. Kaisa, Nonlinear Multiobjective Optimization. Massachusetts: Kluwer Academic Publishers, 1999. [27]J. Prawda, Método y Modelos de Investigación de Operaciones. México D.F.: Limusa, 2004. [28]A. Ramos, Pedro Sánchez, José María Ferrer, and Pedro Linares, Modelos Matemáticos de Optimización. Madrid: Universidad de Comillas, 2010. [29] C. Romero, “Programación por Metas: Presente, Pasado y Futuro,” vol. 1, No. 1, 2002. [30] R. Caballero Fernández, Algoritmos para la determinación de Soluciones en problemas de programación por metas fraccionales. España: ASEPUMA. Universidad de Málaga, 2009. [31] V. M. Quesada Ibarguen and Juan Carlos Vergara S, “Análisis Cuantitativo con WinQsb,” Cartagena, 2010. [32]A.M. Marmol, Negociación Multicriterio con Utilidades Lineales. España: ASEPUMA, 2001. [33]C. Romero, “Enfoque Multiobjetivo en los Modelos Matemáticos de Planificación de Cultivos,” no. 89, 1981. [34] A. M. García Aguado, Programación Estocástica por Metas. Teoría y Aplicaciones Económicas. Madrid: Universidad Complutense de Madrid, 1998. [35]C. Coello Coello, An empirical study of evolutionary techniques for Multiobjetctive. New Orleans, Louisiana: Tulane University, 1996. [36] R. García Ródenas, Metodología para el Diseño de Redes de Transporte y para la Elaboración de Algoritmos en Programación Matemática Convexa Diferenciable. España: Escuela Técnica Superior de Ingenieros Aeronáuticos, 2001. [37] Y. Donoso Meisel, Multi-Objetive Optimization Scheme for Static and Dynamec Multicast Flows. Girona: Universitat de Girona, 2005. [38]M. Alzate, “Modelos de Tráfico en Análisis y Control de Redes de Comunicaciones,” vol. 9, no. 1, 2004. Rev. Tecnol. – Journal of Technology • Vol. 11 No. 1 - Enero a Junio 2012 - Carlos Arturo Castillo Medina Aplicación de la programación multiobjetivo en la optimización del tráfico generado por un IDS/IPS p. 41-55 [39] E. Casilari, “Modelado de tráfico telemático,” 2005. [40]G. Millan Alonso, Predicción de Tráfico en Redes de Telecomunicaciones basado en Técnicas de Inteligencia Artificial. México: Instituto Politécnico Nacional, 2006. [41] S. Pérez, F. Higinio, and A. Dantiacq, “Modelación desde el análisis del comportamiento del tráfico en LANs,” 2007. [42]C. A. Hernández S, O. J. Salcedo P., and L. Pedraza, “Modelo de tráfico basado en series de tiempo para pronosticar valores futuros de tráfico en una red de datoS WI-FI,” 2008. [43] J.M. Arranz and M.M. Zamora, Análisis de Autocorrelación. Andalucia: Universidad de Andalucia, 2007. [44] C. Maté, “Modelos Arima,” 2005. [45]C. Jiménez, Diseño y Optimización de un Sistema de Detección de Intrusos Híbrido. Almería: Universidad de Almería, 2009. [46] A. Ariza Quintana, Encaminamiento en Redes con Calidad de Servicio. Málaga: Universidad de Málaga - Escuela Técnica Superior de Ingenieros de Telecomunicación, 2001. [47] H. Gascón Polanco, Estudio de un IDS Open Source frente a herramientas de análisis y exploración de vulnerabilidades. España: Universidad Carlos III de Madrid, 2010. [48] S. Giraldo Sánchez, “Modelo Matemático para Apoyar el Montaje de Sistemas de Detección de Intrusos,” 2003. [49]C. A. Oropeza Clavel, Modelado y Simulación de un Sistema de Detección de Intrusos Utilizando Redes Neuronales Recurrentes. Puebla - México: Universidad de las Américas - Puebla, 2007. [50] E. L. Robayo Santana, Detección de Intrusos en Redes de Telecomunicaciones usando Modelos Ocultos de Markov. Bogotá: Universidad Nacional de Colombia, 2009. Autor Carlos Arturo Castillo Medina Docente de la Facultad de Ingeniería de la Universidad El Bosque en la Facultad de Ingeniería. Se encuentra vinculado a la línea de investigación en Redes de Telecomunicaciones de la Universidad El Bosque. Candidato a Magister en Ciencias de la Información y las Comunicaciones de la Universidad Distrital “Francisco José de Caldas”. Especialista en Gerencia de Proyectos de la Universidad El Bosque. Ingeniero de Sistemas Universidad Distrital FJC. Estudios de Ingeniería Eléctrica de la Universidad Nacional de Colombia. Instructor Certificado CCNA Cisco Systems. castillocarlos@unbosque.edu.co 55