Artículo: “A pli pli cación caci ón de R edes edes Neurona Neur onalles par par a opti opti mizar mizar problema pr oblemass de S eg uri ur i dad I nfor nf ormá máti ticc a”
Ing. Matías Román Vazquez Hess
APLICACIÓN DE REDES NEURONALES PARA OPTIMIZAR PROBLEMAS DE SEGURIDAD INFORMATICA Carretero Soledad y Vazquez Hess Matías R.
RESUMEN
El artículo trata sobre la aplicación de redes neuronales como herramienta para optimizar problemas actuales de seguridad informática, a partir de la generación de una pieza de software que demuestra la eficacia de las redes neuronales en el monitoreo de cualquier sistema/host y logra detectar focos potencialmente peligrosos. Palabras Claves:
Seguridad Informática. Redes Neuronales. Optimización. Focos
peligrosos. A BSTRA C T
The article discusses the ap plic ation of neural networks as a tool for optimizing existing Informatics sec urity problems, from the g ene ration of a p iec e o f software that demonstrates the effectiveness of neural networks to monitor any system / host and to de tec t potential outbreaks da ng erous. Keywords: Information Sec urity. Ne ural Ne tworks. O ptimization. Spo tlig hts da ng erous.
INTRODUCCION
A
nte el crecimiento de las redes, los sistemas de computación son más vulnerables a ataques de intrusos. Generalmente el objetivo de un intruso es violar los mecanismos de seguridad tradicionales, comprometiendo la integridad, confidencialidad o disponibilidad de los recursos del sistema atacado. La detección de intrusos o ataques en la red resulta, entonces, de vital importancia para asegurar la integridad de una red de computadoras y sus usuarios. La Inteligencia Artificial es ampliamente utilizada en los Sistemas de Detección de Intrusos (IDS), destacándose algunas técnicas como las Redes Neuronales (RN). Las mismas presentan características que hacen ventajoso su uso en detección de intrusos, ya que han demostrado ser potentes clasificadores con grandes capacidades de generalización y aprendizaje, siendo
capaces de resolver problemas complejos. Además pueden procesar grandes cantidades de datos y, según su diseño, hacer predicciones con buena precisión. La investigación planteada propone aplicar Redes Neuronales (RN) como herramienta para lograr optimizar los problemas actuales de seguridad informática, cumpliendo con las características de Integridad, Confidencialidad, Disponibilidad e Irrefutabilidad y además con las premisas básicas de escalabilidad y multiplataforma propias de cualquier tipo de sistema.
DESARROLLO
L
a seguridad informática se puede entender como las políticas y medidas tomadas a nivel administrativo y técnico para proteger los recursos informáticos. Dentro de la seguridad informática existen muchos 1
tipos de políticas y procedimientos que puede utilizar una organización para definir como debería funcionar la seguridad. La política de seguridad define los requerimientos técnicos para la seguridad en sistemas informáticos y el equipo de redes. Los riesgos a los que están expuestos los sistemas informáticos pueden enmarcarse dentro de accesos no autorizados, divulgación de información importante, denegación de servicios, pérdida de recursos, vandalismo y sabotaje. Las amenazas afectan principalmente al hardware, al software y a los datos. Dentro de los mecanismos utilizados en seguridad informática, se puede destacar el Sistema de Detección de Intrusos (IDS) por sus grandes potencialidades. Dicho sistema es una herramienta que ha sido diseñada para aumentar la seguridad de una red de datos. Los estudios realizados en esta área tuvieron su origen en el análisis de los flujos de datos de los sistemas vulnerados. Inicialmente personal experto en el tema dedicó todo su tiempo a identificar el origen de las anomalías y evitar que afectara de nuevo al sistema de información, esto evolucionó en lo que se conoce como sistemas de detección basados en reglas, que ha sido estándar hasta la actualidad. Los sistemas basados en reglas requieren actualización permanente ya que si un ataque es modificado levemente el sistema es incapaz de detectarlo. Los IDS pueden realizar el análisis para detectar los ataques de dos formas: detectando las anomalías o detectando comportamientos erróneos. La detección de anomalías trata de descubrir desviaciones significativas del comportamiento normal, mientras que la detección de uso erróneo o indebido corresponde al enfoque actual donde se utilizan firmas de ataques previamente introducidas al sistema detector. Los IDS actuales basan su funcionamiento en una base de datos con firmas de ataques que sufre los mismos
inconvenientes que los antivirus, si dicha base de datos está desactualizada es muy probable que el sistema sea atacado sin ser detectado. Adicionalmente, no todos los tipos de ataques son iguales y surgen nuevos tipos cada día. Por esto la inteligencia artificial se ha planteado como una solución a las limitaciones de los sistemas tradicionales y se observa una visión más amplia de la participación de la Inteligencia Artificial, en especial las redes neuronales, en el campo de la seguridad en redes informativas.
Redes Neuronales Artificiales Las Redes Neuronales Artificiales (RNA) se basan en la concepción sobre el funcionamiento del sistema nervioso humano y en la teoría general de redes a la solución de problemas. Dichas redes tienen en su base lo que se conoce como la Neurona Artificial, como se observa en la Figura 1, la misma que se ha desarrollado aspirando que se asemeje al funcionamiento de una neurona biológica, ver Figura 2; así cada neurona artificial tiene entradas y salidas, pesos sinápticos, regla de propagación, función de activación y función de salida.
Figura 1: Neurona Artificial
2
Las funciones típicas de las RN son: -
Figura 2: Neurona Biológica
Las neuronas individuales se agrupan según determinadas arquitecturas conformando capas y el conjunto de capas forma la red neuronal. Se considera que una red neuronal tiene una capa de entrada y una capa de salida y dependiendo el uso que se quiera dar a la red neuronal, se tendrá una o más capas ocultas (intermedias). Cada capa de neuronas tiene su respectiva función de activación y de salida, que permite transformar una entrada en salida. Las redes neuronales artificiales emulando a las biológicas tienen un mecanismo de aprendizaje, que se basa fundamentalmente en el criterio de prueba y error. Es decir, se aplica una función para determinada entrada y si no se obtiene la salida buscada; se vuelve a probar la red pero variando los pesos sinápticos; si nuevamente no se obtiene la salida esperada se vuelve a probar, previa variación de los pesos sinápticos, y así sucesivamente, hasta obtener la salida buscada. Los cuatro elementos que caracterizan a una red neuronal son: - la topología (consiste en la organización de las neuronas en la red formando capas o agrupaciones de neuronas más o menos alejadas de la entrada y salida de la red). - el mecanismo de aprendizaje. - el tipo de asociación realizada entre la información de entrada y salida. - la forma de representación de estas informaciones.
Aprender: adquirir el conocimiento
de un objeto por medio del estudio, ejercicio o experiencia. Las RN pueden cambiar su comportamiento en función del entorno. Se les muestra un conjunto de entradas y ellas mismas se ajustan para producir unas salidas consistentes. - Generalizar: extender o ampliar un objeto. Las RN generalizan automáticamente debido a su propia estructura y naturaleza. Estas redes pueden ofrecer, dentro de un margen, respuestas correctas a entradas que presentan pequeñas variaciones debido a los efectos de ruido o distorsión. - Abstraer: considerar por separado las cualidades de un objeto. Algunas RN son capaces de abstraer la esencia de un conjunto de entradas que aparentemente no presentan aspectos comunes o relativos.
Clasificación de las RNA Existen muchas formas de clasificar las redes neuronales, las más utilizadas son según sus arquitecturas, o sus métodos de entrenamiento. Las RN, según sus arquitecturas pueden separarse en dos grandes grupos; las recurrentes y las de propagación hacia delante. Las RN recurrentes o realimentadas (ver Figura 3) son aquellas en las que se puede describir un camino cerrado con sus conexiones. Es decir, existen neuronas que poseen conexiones hacia sí mismas, ya sea directamente o por medio de una o varias neuronas. Dentro de este tipo de redes neuronales es posible encontrar aquellas que son recurrentes, dado que son recurrentes pero no totalmente conectadas. Estas RN pueden ser sincrónicas o asincrónicas, incluso
3
existe un tipo particular de redes recurrentes llamadas de tiempo discreto.
Aprendizaje reforzado : requieren un instructor, pero a diferencia del aprendizaje supervisado, éste no requiere más que una indicación de correcto o incorrecto para aprender. Aprendizaje híbrido : combina el aprendizaje supervisado con el no supervisado en distintas áreas de la red neuronal.
PROBLEMA Figura 3: Red Neuronal Recurrente
Otra arquitectura de RN es la que agrupa las redes de propagación hacia delante. Estas poseen conexiones que se dirigen hacia las llamadas neuronas de salida. Dentro de esta arquitectura se pueden encontrar las RN que se estructuran en capas, y las que no, como se observa en la Figura 4.
Figura 4: Red Neuronal de Propagación hacia delante
Clasificando las RN por sus métodos de entrenamiento, o aprendizaje, es posible diferenciar las de entrenamiento supervisado, no supervisado, reforzado e híbrido. Los mismos se definen: Aprendizaje supervisado: requiere de un instructor que les proporcione datos para realizar un entrenamiento en la forma, entrada y salida deseada. Aprendizaje no supervisado : no requiere un instructor. Realizan una clasificación de las entradas y reaccionan de acuerdo a patrones concentrados en las mismas.
n la actualidad, se presentan diversos problemas muy complejos en lo que respecta a la Seguridad Informática. El número de computadoras, la conectividad entre ellas y la importancia de su uso para la vida cotidiana del hombre es cada vez mayor y por tanto se hace cada vez más complejo mantener los estándares de seguridad esperados. La mayor amenaza para los sistemas informáticos y la principal causa de pérdidas económicas en las empresas son los virus informáticos. Un virus informático puede propagarse de una computadora a otra produciendo un daño de acuerdo con el entorno donde actúe. Por lo tanto, es importante protegerse no sólo para resguardar la propia información, sino para evitar convertirse en un agente de dispersión que contribuya a que el virus informático siga extendiéndose y alcance una computadora en la que, debido a su entorno crítico, produzca un daño realmente grave. Los factores determinantes de este problema son: la creciente dependencia computacional de las corporaciones y el progresivo uso de Internet para aplicaciones corporativas, prácticamente el 90% de las empresas tienen dependencias de este tipo. El aumento constante de la dependencia computacional de las empresas crea condiciones más propicias para el aumento de infecciones por virus informáticos debido a que hay mayor
E
4
cantidad de personas utilizando computadoras; por otro lado, como la mayoría de la información críticas de las empresas se encuentra computarizada, éste es un objetivo cada vez más atractivo para un sabotaje mediante un virus. La mayor utilización de Internet plantea el problema del aumento exponencial de la cantidad de información que entra y sale de la empresa; esta información se traslada en archivos, que es el elemento utilizado por los virus para infectar los sistemas. Esta compleja situación de seguridad en las redes de computadoras producto del elevado número de ataques, ha traído consigo el desarrollo de diversas herramientas informáticas con el objetivo de mantener seguras las redes. Dentro de las herramientas informáticas se destacan los IDS (Sistema de Detección de Intrusos) que son sistemas encargados de recolectar y analizar información procedente de distintas áreas de una red de computadoras con el objetivo de identificar posibles fallos de seguridad. Este análisis en busca de intrusiones incluye tanto los posibles ataques externos como los internos. Como así también se puede encontrar a los IPS que son los denominados: Sistema de Prevención de Intrusos, los mismos son de carácter proactivo, es decir, alertan al administrador ante la detección de un posible intruso. Por otro lado, dentro del área de la Inteligencia Artificial, se desarrollaron varias investigaciones sobre la Seguridad Informática utilizando técnicas como Redes Neuronales, Sistemas Expertos, entre otros. La presente investigación aporta el desarrollo de una tecnología experimental capaz de analizar en tiempo real cualquier segmento TCP, y determinar en ese momento si la petición en cuestión es segura o no, permitiendo de esa manera brindar un control informativo especifico de accesos al usuario final.
SOLUCION PROPUESTA
E
n la presente investigación se plantea el desarrollo de un producto software que da soporte a empresas de cualquier índole, sustentado en una tecnología desarrollada específicamente para tal fin, siendo capaz de detectar en tiempo real mediante al acceso por un navegador Web, si los sitios a los que se ingresa son seguros, dudosos o no seguros, por ejemplo utilizando como herramienta de detección a las REDES NEURONALES. Es importante destacar, que esta tecnología no solo aplica sobre servicios www, sino sobre cualquier transferencia que genere algún segmento TCP. En dicha implementación se trabajo con dos tipos de Redes Neuronales, la Red HOPFIELD y la Red BPN (Backpropagation). Ambas redes presentan diferentes características y funcionalidades permitiendo de esa manera poder comparar los resultados bajo diferentes patrones de funcionamiento. La aplicación es capaz de analizar los segmentos TCP que se capturan con el acceso a cada página Web, determinando en tiempo real cual es la aptitud de dicha página y notificando al usuario de la misma. Con las Redes Neuronales se busca la solución a estos problemas complejos que se presentan hoy en día, no como una secuencia de pasos, sino como la evolución de un sistema de informática inspirado en el cerebro humano, y dotados por tanto de cierta "inteligencia", los cuales no son sino la combinación de elementos simples de proceso interconectados, que operando de forma paralela en varios estilos, consiguen resolver problemas relacionados principalmente con la clasificación y reconocimiento de patrones. Este tipo de solución es la más adecuada para la implementación de sistemas de soporte para la toma de decisión. 5
DISEÑO EXPERIMENTAL
E
n el estudio realizado se utilizó un conjunto de muestras especialmente diseñadas para las diferentes pruebas a realizar. Es decir, un conjunto amplio de patrones que permiten cubrir las diferentes alternativas planteadas. -Probabilidad del evento : Seguro, No Seguro, Dudoso, No pudo Inferir (NPI) -Nivel de confianza : 60% -Desviación tolerada : 20% -Tamaño de la muestra : 35 La interpretación de esos datos sería la siguiente: La población a investigar se encuentra comprendida por la combinatoria de valores que forman el segmento del protocolo TCP. Se estima en un 25% para cada clasificador y para el propósito del estudio es suficiente un 60% de seguridad con un nivel entre 60 - 20 y 60 +20. Generamos una tabla de 35 patrones al azar para inferir, sobre 15 patrones base para la Red BPN y 3 patrones para la Red de Hopfield (los cuales se generalizan de los 15 patrones de BPN), y comprobamos el nivel de confianza establecido. •
•
Por otro lado, fue necesaria la generación de patrones de inferencia con valores tomados al azar, dentro de los rangos de valores utilizados según cada característica. Los mismos se crearon mediante dos métodos: manual y automático. Es decir, los manuales son aquellos que se ingresaron desde la aplicación con diferentes valores para probar, y los automáticos son aquellos que se guardaron de los datos que se fueron obteniendo en los ingresos a diferentes sitios Web y que se infirieron en tiempo real. De esta manera se cuenta con la información necesaria para realizar las pruebas de la tecnología desarrollada. Los patrones son archivos ‘.xml’ que contienen los valores de cada uno de los campos del segmento TCP. Dichos patrones se encuentran generados, en dos estados diferentes: específicos y por rangos; siendo los específicos, los correspondientes a BPN y por rangos los que aplican a la red de Hopfield.
PRUEBAS Y OBTENIDOS
RESULTADOS
•
Generación de Patrones Se utilizó para el aprendizaje de las redes 18 patrones de base, los cuales además de enumerar las características correspondientes al diseño explotado en la presente investigación, incorporan la aptitud que indica el clasificador al cual corresponden, para poder llevar adelante el modelo. En caso de no corresponder a lo esperado, se asumirá que el mismo no se ha podido inferir.
S
e realizaron las pruebas según los casos definidos previamente. Los mismos contemplan diferentes casuísticas ya sea cargando datos del segmento TCP manualmente o por lotes. Se pueden observar los obtenidos en la Tabla 1:
resultados
Aptitud
Red
Total
%
Correct
Incorrecta(*
caso
Efectivida
a
)
s
d
19
16
35
54,28
Hopfiel d
6
BPN
28
72
35
80
Tabla 1. Resultados obtenidos
(*)Se considera la aptitud incorrecta, conformada por aquellas inferencias tanto incorrectas como no inferencias según corresponda. Resumiendo, se obtuvo un 80% de aciertos por parte de la red BPN, y un 54% de aciertos por parte de la red de Hopfield. Obteniendo una efectividad global de un 67%.
CONCLUSIÓN
L
uego de la investigación y desarrollo del escenario mediante las redes neuronales de Hopfield y BPN, se puede concluir que el uso de las redes neuronales como tecnología adaptativa para la detección de intrusiones es viable y ofrece una solución alternativa a este problema. Los sistemas actuales no son capaces de reconocer ataques completamente nuevos o variaciones de las formas conocidas, a diferencia de los sistemas basados en Redes Neuronales que son capaces, por su capacidad transversal, de reconocer y aprender de diferentes situaciones. La red neuronal de BPN mostró el mejor desempeño obteniendo un 80% de efectividad con datos completamente desconocidos para la red, de manera que el uso de este tipo de red, se presenta como una opción factible de implementación. Si comparamos este resultado con la eficiencia que tienen los sistemas de detección actuales como los antivirus, IDS, etc. se verá que han logrado un alto pero no absoluto porcentaje de efectividad, ya que no son capaces de reconocer intrusiones nuevas. El proyecto de tesis alcanzó su objetivo general, al determinar el modelo de red neuronal más adecuado para enfrentar un problema de esta naturaleza, demostrando la capacidad de las redes neuronales para trabajar con datos reales
hallando los patrones suficientes para poder generalizar en nuevos datos. Luego de las pruebas realizadas, se analizaron los resultados y se puede concluir que la implementación de una red Hopfield no es adecuada para este dominio de problema. Esto es debido a que es muy difícil cumplir con la ortogonalidad necesaria en los patrones de manera que la red aprenda lo suficiente para que en su funcionamiento infiera correctamente las salidas ante cada entrada. Por otro lado, se destaca que se obtuvo un nivel de convergencia y estabilidad en ambas redes el cual permite que las mismas den como resultado los valores posibles del clasificador, descontando de éste el estado “NPI” (No pudo Inferir). Dicha estabilidad es el resultado de reiteradas pruebas sobre ambas redes observando que el impacto directo sobre éstas, es la correcta selección y entrenamiento de patrones, para no caer en un estado de clasificación “NPI”. En cuanto a la ventaja que posee, de ser un algoritmo muy simple de implementar, puede ser adecuada y conveniente en otras situaciones más deterministas. Como por ejemplo: reconocimiento de imágenes y de voz, el control de motores, resolución de problemas de optimización (Hilera, J. R., Martínez, 1995). En contraposición el algoritmo BPN, a pesar de las desventajas en cuanto a los requerimientos de hardware superiores a la red de Hopfield y complejidad en la implementación, se encuadra perfectamente para este tipo de escenarios debido a la robustez de dicha red.
LINEAS FUTURAS
E
ste proyecto puede continuar debido a que quedaron abiertas diferentes líneas de investigación. Una de las posibles líneas de trabajo a futuro es la puesta a prueba de 7
otras redes neuronales más complejas con arquitecturas diferentes, como podría ser el caso de redes recurrentes. Luego poder comparar los resultados con los obtenidos en el presente desarrollo determinando cual es la arquitectura más factible para este tipo de análisis. Otra sugerencia es ampliar en profundidad otros protocolos en redes de comunicación, y siguiendo el mismo método de diseño de este proyecto, se pueden desarrollar modelos de detección de intrusos que se ajusten a cada protocolo. Como así también continuar investigando en profundidad el protocolo TCP/IP, ya que permitirá hallar nuevos patrones de entrenamiento, y permitir que la red adapte sus características, ajustándose a los distintos tipos de ataques. Esto podría denominarse: SDA: Sistema de Diagnóstico de Anomalías, ideado por los investigadores del presente desarrollo. También otra posible línea futura es consumir la tecnología desarrollada, migrando su capa de datos a un motor de base de datos estándar, logrando de esta manera extender su dominio, para su posterior procesamiento distribuido en el ultimo extremo de la organización, monitoreando toda la red y fundamentalmente, a través de la minería de datos, explotar la información obtenida, generando estimaciones mediante la proyección estadística. Además, una nueva línea de investigación se podría abrir, con la continuidad del desarrollo de ‘Visto Seguro Neuronal’, un navegador web seguro, que consume la sonda anémica neuronal y permite acceder solo a sitios seguros, e integrar en este la tecnología, sin interactuar con ningún tercero, bloqueando sitios http potencialmente no seguros. Finalmente, optimizar la performance de la aplicación desarrollada, a través de un procesamiento distribuido dentro de la red sobre la cual se encuentra en ejecución, y por otro lado, garantizar la
calidad de servicio, a través de una batería de test y homologación del producto software, por alguna entidad autorizada. Para luego, poder de esta manera con un mínimo de latencia en tiempo real, ampliar su función a la toma de decisiones ante diferentes diagnósticos, como por ejemplo: denegar servicios.
BIBLIOGRAFÍA - “Aplicación de Redes Neuronales para optimizar problemas multirespuesta en mejora de la calidad” (2009), Facultad de Ingeniería Industrial. Instituto de Investigación. Perú. Disponible en http://www.scielo.org.pe/scielo.php?pid= S1810-99932004000200005&script=sci_ arttext - Arboleda Torres A.F. y Otros, (2004), “Sistema de Detección de Intrusos utilizando Inteligencia Artificial”, Universidad del Cauca. Disponible en “http://gseguridad.unicauca.edu.co /tesis_snort/archivos_tesis/T_Anteproyec to_v011_ipet.pdf” - Díaz Adenso y otros (1996), “Optimización Heurística y Redes Neuronales en Dirección de Operaciones e Ingeniería”. Madrid, España. Editorial Paraninfo. - Hilera González José (1995), “Redes Neuronales Artificiales. Modelos, Fundamentos y Aplicaciones”. España. Editorial Ra-Ma. - Pérez Rivera C. y Otros, (2005), “Aplicación de redes neuronales para la detección de intrusos en redes y sistemas de información”, Universidad Tecnológica de Pereira. Disponible en “http://www.utp.edu.co/php/revistas/Scie ntiaEtTechnica/docsFTP/113948225230.pdf”.
8