modelado de un prototipo de una red neuronal …
TRANSCRIPT
MODELADO DE UN PROTOTIPO DE UNA RED NEURONAL ARTIFICIAL BASADA EN UN ALGORITMO DE APRENDIZAJE PARA LA DETECCIÓN DE INTRUSOS, EN
UNA RED PAN.
ERICK ANDRES AVILA JORGE EDUARDO BLANCO DIEGO CABEZAS GARCIA ANGELICA MATA BELLO
DANIEL ALBERTO MOLINA CASTIBLANCO MAYERLY VANEGAS AGUDELO SANDRA MILENA RAMIREZ
FUNDACIÓN UNIVERSITARIA PANAMERICANA FACULTAD DE INGENIERIA
BOGOTA D.C. 2008
MODELADO DE UN PROTOTIPO DE UNA RED NEURONAL ARTIFICIAL BASADA EN UN ALGORITMO DE APRENDIZAJE PARA LA DETECCIÓN DE INTRUSOS, EN
UNA RED PAN.
ERICK ANDRES AVILA JORGE EDUARDO BLANCO DIEGO CABEZAS GARCIA ANGÉLICA MATA BELLO
DANIEL ALBERTO MOLINA CASTIBLANCO SANDRA MILENA RAMIREZ
MAYERLY VANEGAS AGUDELO
Trabajo de Grado para optar al titulo de Ingeniero de sistemas
Asesor ERIKA PAOLA HOLGUIN ONTIVEROS
Ingeniera de Sistemas
FUNDACIÓN UNIVERSITARIA PANAMERICANA FACULTAD DE INGENIERIA
BOGOTA D.C. 2008
Los autores certifican que el trabajo enviado es de su autoría, para su elaboración se
han respetado las normas de citación de fuentes y ninguna copia textual supera las
400 palabras. Por tanto, no se ha incurrido en ninguna forma de plagio, ni por similitud
ni por identidad. Los autores son responsables del contenido y de los juicios y
opiniones emitidas.
ERICK ANDRES AVILA
JORGE EDUARDO BLANCO
DIEGO CABEZAS GARCIA
ANGELICA MATA BELLO
DANIEL ALBERTO MOLINA CASTIBLANCO
MAYERLY VANEGAS AGUDELO
SANDRA MILENA RAMIREZ Se autoriza a los interesados, a consultar y reproducir parcialmente el contenido del
trabajo de investigación titulado MODELADO DE UN PROTOTIPO DE UNA RED
NEURONAL ARTIFICIAL BASADA EN UN ALGORITMO DE APRENDIZAJE PARA LA
DETECCIÓN DE INTRUSOS, EN UNA RED PAN dirigido por ERIKA PAOLA HOLGUIN
ONTIVEROS con la participación como asistentes de investigación del MODELADO DE
UN PROTOTIPO DE UNA RED NEURONAL ARTIFICIAL BASADA EN UN ALGORITMO DE
APRENDIZAJE PARA LA DETECCIÓN DE INTRUSOS, EN UNA RED PAN siempre que se
haga la respectiva cita bibliográfica que dé crédito al trabajo y a sus autores, así
especificar según la norma Icontec, la forma de referenciar y citar la investigación.
DEDICATORIA
Dedicamos este trabajo a todas aquellas personas que nos brindaron su tiempo
y ayuda incondicional al realizar este proyecto.
AGRADECIMIENTOS
Expresamos los más sinceros agradecimientos a todos los Docentes que
estuvieron en el transcurso de la carrera por sus conocimientos, tutoría y
orientación durante la elaboración de este proyecto, a los compañeros, por su
colaboración y apoyo.
RESUMEN
El proyecto pretende modelar la interacción de la RNA con la herramienta de
seguridad informática para la detección de intrusos en una red PAN.
Para las empresas la información que se trasmite en la red es su activo más
importante, motivo por el cual busca su protección, requiere optimizar
procesos, minimizar tiempos en las tareas que se realizan, compartir recursos e
información.
Luego de estudiar varios sistemas de detección de intrusos y sus características
mas relevantes se selecciono el IDS SNORT, por ser una herramienta que
aumenta la seguridad, vigila el tráfico y examina los paquetes en la red,
analizándolos en busca de datos sospechosos y detectando las primeras fases
de cualquier ataque; además es un software libre que permite ser adaptado
fácilmente en casi cualquier red.
Dentro del desarrollo del trabajo se destacan las características más
importantes de los IDS, su clasificación, la justificación de la implementación
del IDS SNORT sobre las redes PAN y el papel que juegan la redes neuronales
artificiales con el IDS con el propósito de evitar cualquier actividad sospechosa
sobre la red.
PALABRAS CLAVES
IDS, SNORT, Redes Neuronales Artificiales, Algoritmo de aprendizaje, Ataque,
Red Pan, Perceptrón.
ABSTRAC
The project aims to model the interaction of RNA with the computer security
tool for detecting intruders on a network PAN.
For business information that is transmitted on the network is its most
important asset, also looking for their protection requires streamline processes,
minimizing time when the tasks are carried out, share resources and
information.
We inquired potential intrusion detection systems that exist and select the IDS
Snort, as a tool that enhances security, traffic monitors and reviews the packets
on the network, analysing data in search of suspects and detect the early
stages of any attack; addition is a free software that allows easily be adapted
by the companies.
In the theoretical framework highlights the most important features of IDS,
classification, the justification for implementing the IDS Snort on networks PAN
and the role the artificial neural networks with IDS, in order to avoid any
suspicious activity on the network.
Keyword
IDS, snort, neural networks, learning algorithm, attack, red pan, perceptron.
GLOSARIO
Las siguientes definiciones han sido tomadas de la página de internet La web
del programador1, Alegsa.com2 y Wikipedia3 por ser específicos y claros con
respecto a las palabras claves mencionadas en el proyecto.
Algoritmo: Conjunto de procedimientos mediante los que se consigue un
efecto. Suelen expresarse a través de letras, cifras y símbolos, que forman un
algoritmo determinado
Amenaza: Acción que da a entender el querer hacer un mal, daño o perjuicio a
otro.
Aprendizaje: Es una rama de la Inteligencia Artificial cuyo objetivo es
desarrollar técnicas que permitan a las computadoras aprender.
Ataques: Intento organizado y deliberado de una o más personas para causar
daño o problemas a un sistema informático o red.
Automático: aprendizaje que contiene métodos adaptativos, que permiten
aprender de la experiencia, aprender por ejemplificación y aprender por
analogía.
Autoorganización: capacidad que tiene las Redes Neuronales para clasificar
la información que adquieren de su entorno y así poder realizar las labores de
aprendizaje.
Axón: prolongación filiforme que arranca de la célula nerviosa y termina
formando una ramificación terminal. Haciendo la analogía con una neurona
artificial, sería la Función de Activación.
1LA WEB DEL PROGRAMADOR.COM. Diccionario Informático. 2008 Enlace: http://www.lawebdelprogramador.com/diccionario. 2 ALEGSA.COM. Diccionario Informático. Argentina 2008. Enlace: http://www.alegsa.com.ar/Dic 3 WIKIPEDIA.COM. La enciclopedia libre. 2007. Enlace: http://es.wikipedia.org/wiki
Cortafuegos: barreras implementadas sobre software y hardware en un
equipo de computo y evitar ataques desde las redes externas e internas.
Dendritas: prolongación protoplásmica ramificada de una célula nerviosa,
encargada de recibir los impulsos eléctricos nerviosos, entre neuronas.
Entradas: componente de una neurona artificial, equivalente a las dendritas de
una neurona biológica.
Entrenamiento: algoritmos implementados en redes neuronales artificiales
para que se desempeñen dando solución a problemas.
Error: dícese de una señal no deseada, la cual debe ser optimizada por un
algoritmo que permita la minimización de la señal errónea o no deseada.
Excitación: alteración o perturbación de una neurona artificial, causado por su
entorno o por la señal de otra neurona.
Función de activación: es la encargada de arrojar un valor o señal deseada
mediante una evaluación matemática por parte de una neurona artificial.
Función costo: índice de desempeño, definida en términos de señal de error,
la cual debe ser minimizada mediante un algoritmo de corrección de errores.
Gradiente: magnitudes cuyo valor es distinto en los diversos puntos de una
región del espacio, proporción en la que varía la magnitud en función de la
distancia, a lo largo de la línea en que esta variación es máxima.
TABLA DE CONTENIDO
Pág.
INTRODUCCIÓN ......................................................................................... 16
1. MARCO TEORICO ................................................................................... 19
1.1 IDS – Sistema de Detección de Intrusos ............................................. 19
1.1.2 Clasificación de los IDS ..................................................................... 20
1.1.2.1 Por la fuente de información ........................................................ 21
1.1.2.1.1 NIDS (Network Intruder Detection Systems) .................................. 21
1.1.2.1.2 HIDS (Host Intruder Detection Systems) ........................................ 21
1.1.2.1.3 DIDS (Distributed Intruder Detection Systems) .............................. 22
1.1.2 Según el análisis de los eventos ......................................................... 22
1.1.3 En función a las opciones de respuesta .............................................. 22
1.1.4.1 Pasivos ........................................................................................... 23
1.1.4.2 Activos ........................................................................................... 23
1.1.5 Cuadro Comparativo de IDS ............................................................... 23
1.1.5.1 IDS Snort ....................................................................................... 24
1.2 Redes Neuronales ............................................................................. 25
1.2.1 Diseño y programación de una RNA .................................................... 27
1.2.2 Funcionamiento de las RNA ................................................................ 27
1.2.3 Estructura de las RNA ........................................................................ 28
1.2.4 Tipología de las RNA .......................................................................... 30
1.2.4.1 Perceptrón simple ........................................................................... 30
1.2.4.1.1 Arquitectura del perceptrón .......................................................... 30
1.2.4.1.2 Dinámica del perceptrón ............................................................... 31
1.2.4.2 Adaline ........................................................................................... 32
1.2.4.3 Perceptrón multicapa....................................................................... 32
1.2.4.4 La Red de Hopfield .......................................................................... 33
1.2.4.5 Red Competitiva .............................................................................. 34
1.2.4.6 Red de Elman ................................................................................. 34
1.2.5 Topología de las Redes Neuronales ..................................................... 35
1.2.5.1 Redes Monocapa ............................................................................. 35
1.2.5.2 Redes Multicapa .............................................................................. 35
1.2.6 Aprendizaje de las Redes Neuronales Artificiales .................................. 36
1.2.6.1 Redes con Aprendizaje Supervisado ................................................. 36
1.2.6.2 Aprendizaje por corrección de error .................................................. 36
1.2.6.3 Aprendizaje por refuerzo ................................................................. 36
1.2.6.4 Aprendizaje estocástico ................................................................... 37
1.2.6.5 Redes con Aprendizaje No Supervisado ............................................ 37
1.2.7 Redes de computadoras ..................................................................... 37
1.2.7.1 Por alcance ..................................................................................... 37
1.2.7.2 Por método de la conexión .............................................................. 38
1.2.7.2 Por relación funcional ...................................................................... 38
1.2 Algoritmo de Aprendizaje ...................................................................... 39
1.3.1 ¿Qué es el Aprendizaje? ..................................................................... 40
1.3.2 ¿Qué es un algoritmo de aprendizaje? ................................................. 40
1.3.3 Tipos de algoritmos de aprendizaje ..................................................... 41
1.3.3.1 Paradigma supervisado .................................................................... 42
1.3.3.2 Paradigma no supervisado ............................................................... 42
1.3.3.3 Paradigma por refuerzo ................................................................... 42
1.3.3.4 Transducción .................................................................................. 42
1.3.3.5 Aprendizaje multi-tarea ................................................................... 43
1.3.4 Tipos de algoritmos ............................................................................ 43
1.3.4.1 Algoritmo de aprendizaje por corrección de error .............................. 45
1.3.5 Regla Delta de Widrow-Hoff (1960) .................................................... 47
1.4 Marco de Antecedentes ......................................................................... 48
1.4.1 Diseño de un modelo de una RNA para la Detección de Intrusos en redes LAN conectadas a la Web por medio de IDS ................................................. 48
1.4.2 Presente y Futuro de los IDS .............................................................. 50
1.4.3 Detección de intrusos en la red utilizando redes neuronales.................. 50
1.5 Marco Conceptual ................................................................................. 51
2.DISEÑO BASE DE DATOS ......................................................................... 56
2.1 Diccionario de Datos ............................................................................. 57
2.2 Modelos del prototipo de la RNA con el algoritmo de aprendizaje y la interacción del IDS SNORT. ......................................................................... 63
2.2.1 Diagramas de caso de uso .................................................................. 63
2.2.2 Diagramas de Actividades ................................................................... 67
2.2.3 Diagrama de secuencias ..................................................................... 72
2.2.4 Diagramas de Colaboración ................................................................ 76
3. DISEÑO METODOLOGICO ....................................................................... 77
4. CONCLUSIONES ..................................................................................... 80
5. RECOMENDACIONES .............................................................................. 81
6. BIBLIOGRAFIA ....................................................................................... 82
LISTA DE TABLAS
Pág.
Tabla N.1 Comparativo de los IDS 23
Tabla N.2 Comparativo de Tipos de Aprendizaje de Redes Neuronales
Artificiales 45
Tabla N.3 Relación De Tablas 57
Tabla N.4 Ataquefecha 58
Tabla N.5 Clasificación 59
Tabla N.6 Fecha 60
Tabla N.7 Nivel 61
Tabla N.8 Tipo Ataque 62
Tabla N.9 Diseño Metodológico 80
LISTA DE FIGURAS
Pág.
Figura N.1 Modelo de una neurona artificial 29
Figura N.2 Arquitectura de un Perceptrón 31
Figura N.3 Modelo Relacional de la Base de Datos 56
Figura N.4 Aprendizaje de la neurona 63
Figura N.5 Recolección de datos 64
Figura N.6 Interacción neurona, base de datos y Snort 65
Figura N.7 Interacción Snort, usuarios y neurona 66
Figura N.8 Funcionamiento red (IDS y RNA) 67
Figura N.9 Aprendizaje neurona 68
Figura N.10 Funcionamiento de la neurona 69
Figura N.11 Funcionamiento base de datos y Snort 70
Figura N.12 Filtro del ataque 71
Figura N.13 Funcionamiento de la red (IDS y RNA) 72
Figura N.14 Funcionamiento Snort y neurona 73
Figura N.15 Funcionamiento Snort y neurona (ataque) 74
Figura N.16 Funcionamiento Snort y neurona (hacker) 75
Figura N.17 Aprendizaje 76
Figura N.18 Snort y neurona 76
Figura N.19 El ciclo "Planificar-Hacer-Verificar-Actuar" 79
INTRODUCCIÓN
Actualmente las organizaciones buscan optimizar sus procesos tecnológicos a
nivel de hardware y software, para acceder a nuevas tecnologías y lograr sus
objetivos. Los investigadores de la ciencia buscan detectar y corregir errores
dentro de las actividades y procesos que se realizan diariamente, creando
modelos que se ajustan al mundo real empleando la información en procesos
de retroalimentación y resolviendo así diferentes situaciones.
El presente proyecto está enfocado al modelado de un prototipo de RNA basada
en un algoritmo de aprendizaje para evitar intrusiones a nivel de seguridad
informática dentro de una red PAN; destacando como característica principal de
la RNA “simular las capacidades del sistema nervioso, específicamente el
cerebro”. El objetivo de las RNA es la creación de un sistema compuesto por
múltiples neuronas interconectadas, las cuales trabajan entre si para producir a
través de una entrada y una función de operación una salida deseada. Las RNA
pueden trabajar sobre un IDS (Sistema de Detección de Intrusos), ya que son
herramientas que han sido diseñadas para aumentar y fortalecer la seguridad
informática en una red por que tienen la capacidad de aprendizaje.
Para optimizar los niveles de seguridad informática en una red PAN, surge el
interrogante ¿Las RNA basadas en un algoritmo de aprendizaje para la
detección de intrusos, utilizando el IDS SNORT es la herramienta informática
mas adecuada para detectar ataques y actividades sospechosas en una red
PAN?
Partiendo del concepto de las Redes Neuronales Artificiales y de acuerdo al
análisis realizado a su funcionamiento con el IDS, se puede afirmar que son
sistemas que tienen la capacidad para resolver problemas complejos, como son
la inseguridad informática; por lo anterior, el objetivo principal del presente
proyecto es modelar un prototipo de red neuronal artificial basada en un
algoritmo matemático de aprendizaje sobre el IDS SNORT, que permita la
optimización de la detección de intrusos en una red PAN a nivel interno
evitando y previniendo posibles ataques haciendo vulnerable el sistema.
Con el propósito de cumplir con el objetivo general del proyecto se aplica la
metodología PHVA (Planear, Hacer, verificar, actuar) siendo esta un ciclo de
mejora continua que permite el desarrollo del proyecto a través de la
descripción de cada fase. Por tanto la primera fase que se empieza a aplicar es
el PLANEAR donde se describen los siguientes pasos: conocer los conceptos
básicos de los sistemas de redes neuronales artificiales (RNA) y de los sistemas
para detección de intrusos (IDS), conocer el funcionamiento de los IDS y
seleccionar el que se ajuste a los requerimientos del proyecto, se debe
estructurar, adaptar e implementar un algoritmo de aprendizaje que se adapte
a las RNA, modelar los diagramas de cada sistema con el propósito de conocer
su funcionamiento en la detección de intrusos.
Dentro de las ventajas de las RNA se pueden destacar, la escalabilidad, debido
a que tienen la habilidad para manejar el crecimiento continuo del trabajo sin
perder la calidad del servicio que se ofrece, se ajustan a los cambios, facilita su
adaptación e implementación en proyectos de seguridad informática, son
eficaces para procesos que presenten problemas complejos y adicionalmente
pueden procesar una gran cantidad de datos en tiempo real y trabajan en
paralelo actualizando las entradas y salidas. Tiene autonomía ya que trabaja
sobre un algoritmo de aprendizaje, las RNA organizan y actualizan la
información, disminuyendo la intervención del administrador del sistema,
cuentan con una mayor seguridad, son tolerantes a fallos y son capaces de
seguir respondiendo aun si la red ha sido alterada.
1. MARCO TEORICO
La información es el elemento y la herramienta más importante para cualquier
empresa, por ello es necesario establecer su correcta administración y un nivel
de seguridad para los datos. La seguridad de la información involucra a
personas y procesos que se hacen cada vez más responsables por su manejo.
Por tal motivo, es importante conocer acerca de nuevas tecnologías para
minimizar el riesgo informático y evitar posibles ataques a la red.
La siguiente fase a realizar es el HACER de la metodología PHVA, que permite el
desarrollo de cada uno de los capítulos o pasos establecidos en la fase del
planear y que apoyan a la realización del objetivo principal del proyecto.
1.1 IDS – Sistema de Detección de Intrusos
El IDS (Sistema de Detección de Intrusos) es un programa usado para detectar
accesos no autorizados a un computador o a una red. Estos accesos pueden ser
ataques de piratas informáticos que usan herramientas automáticas4.
El IDS suele tener sensores virtuales como por ejemplo, el sniffer de red, con el
que el núcleo del IDS puede obtener datos externos generalmente sobre el
tráfico de red. El IDS detecta, gracias a dichos sensores, anomalías que pueden
ser indicio de la presencia de ataques o falsas alarmas. Los IDS se caracterizan
por ser:
4 TORRES MEJIA, Efraín. Sistema Inmunológico para la Detección de Intrusos a nivel de protocolo http. Bogotá, Mayo 2003
• Recolectores de datos o Sensores: Programas que capturan los datos de
la fuente para su análisis en tiempo real o posterior.
• Reglas o firmas: Estas reglas son las que caracterizan las violaciones que
pueden ser cometidas y contra las que se contrastan los datos obtenidos en
el punto anterior.
• Filtro: Esta parte se encarga de contrastar las reglas o firmas contra los
datos obtenidos.
• Generador de informes o alarmas: Después de procesar los datos
contra las reglas por el filtro, si existe alguna situación que haga creer que
se ha vulnerado o intentado vulnerar la seguridad del sistema, esta parte del
detector de intrusos informa este hecho.
• Mecanismo de administración: Para facilitar la administración del IDS y
monitorear su estado, se desarrollan interfaces gráficas amigables las cuales
permiten a los administradores, realizar el mantenimiento y control del IDS.
1.1.2 Clasificación de los IDS
Los detectores de intrusos (IDS) se clasifican según en función a la fuente de
información, al análisis de los eventos y a las opciones de respuesta después de
haber detectado una intrusión5.
5 GONZALEZ, Diego. Sistemas de Detección de Intrusos. España Julio, 2003.
1.1.2.1 Por la fuente de información
Según la fuente de información los IDS se clasifican en:
1.1.2.1.1 NIDS (Network Intruder Detection Systems)
“Utilizan el tráfico de red, paquetes TCP/IP, como fuente de información,
revisando los paquetes que circulan por la red en busca de elementos que
denoten un ataque contra alguno de los sistemas ubicados en ella. De dichos
paquetes verifican la validez de algunos parámetros y el comportamiento de los
protocolos de la familia TCP/IP empleados. Tienen la ventaja de utilizar como
fuente, el tráfico de red, porque no afecta el rendimiento de todos los
computadores; operan en toda una red protegiendo a un conjunto de
máquina”6.
1.1.2.1.2 HIDS (Host Intruder Detection Systems)
“Los HIDS protegen únicamente a la máquina en la que son instalados: utilizan
como fuente de información, datos generados por el computador en la que
operan, especialmente a nivel de sistema operativo: ficheros de auditoria del
sistema, ficheros logs o cualquier fichero que el usuario desee proteger; tienen
como ventaja su capacidad de detectar situaciones como los intentos fallidos de
acceso o modificaciones en archivos considerados críticos. La desventaja
principal de este tipo de IDS es que, al ser instalado en la propia máquina que
desea proteger, consume recursos de la misma además, está expuesto él
mismo a ser víctima de algún ataque”7.
6 Ibíd.
7 Ibíd.
1.1.2.1.3 DIDS (Distributed Intruder Detection Systems)
Un IDS Distribuido (DIDS) consta de varios IDS en una red, comunicándose
unos con otros, o con un servidor central que facilita la supervisión de red
avanzada. En un entorno distribuido, DIDS se realiza utilizando agentes
inteligentes distribuidos a través de la red.
1.1.2 Según el análisis de los eventos
Los IDS según el análisis de los eventos son aquellos basados en firmas o
detección de mal uso, manejan un bajo porcentaje de falsas alarmas y una de
sus desventajas es que solamente detectan aquellas intrusiones que conocen
por lo cual requieren de una permanente actualización de las firmas.
Existen dos grandes técnicas de detección de intrusos, las basadas en la
detección de anomalías (anomaly detection) y las basadas en la detección de
usos indebidos del sistema (misuse detection). En la detección de anomalías se
supone que una intrusión se puede ver como una anomalía en el sistema, por
lo que si se establece un perfil del comportamiento normal de los sistemas es
posible detectar las intrusiones, una intrusión sería básicamente una desviación
del comportamiento normal establecido. Para la detección de usos indebidos se
establecen firmas para cada uno de los diferentes ataques conocidos y algunas
de sus variaciones8.
1.1.3 En función a las opciones de respuesta
Por el tipo de respuesta los IDS se pueden clasificar:
8 Conferencia. Enlace: http://www.fi.uba.ar/laboratorios/lsi/R-ITBA-26-rrnn-ags.pdf
1.1.4.1 Pasivos
Son aquellos IDS que notifican a la autoridad competente o administrador de la
red mediante el sistema que sea, alerta, etc., pero no actúa sobre el ataque o
atacante9.
1.1.4.2 Activos
Generan algún tipo de respuesta sobre el sistema atacante o fuente de ataque
como cerrar la conexión o enviar algún tipo de respuesta predefinida en la
configuración.
1.1.5 Cuadro Comparativo de IDS
Tabla N. 1 Comparativo de los IDS. Fuente: Realizado por los investigadores.
9 Ibíd.
1.1.5.1 IDS Snort
Para la selección del IDS que se implementará en la presente investigación se
tuvieron consideraciones como lo son objetivos de seguridad, políticas,
requerimientos y limitaciones que presente el IDS escogido, al igual que las
características que lo conformen.
El IDS a utilizar es el SNORT porque es un sistema de detección de intrusiones
basado en red (NIDS). Implementa un motor de detección de ataques y barrido
de puertos que permite registrar, alertar y responder ante cualquier anomalía
previamente definida como patrones que corresponden a ataques, barridos,
intentos de aprovechar alguna vulnerabilidad, análisis de protocolos, etc.
Conocidos; todo esto en tiempo real.
Trabaja bajo licencia GPL, gratuito, funciona bajo plataformas Windows y
UNIX/Linux. Puede funcionar como sniffer verificando el tráfico de la red,
registrando paquetes y permitiendo guardar en un archivo los logs para su
posterior análisis. Como ventajas, se puede mencionar que es un sistema
probado y viable, tiene soporte y actualización, funciona sobre diferentes
operativos y arquitecturas10.
EL diseño que utiliza el SNORT es el libpcap como fuente de tráfico, está
basado en plugins, el cual contiene tres fases preprocesador11: el tráfico es
analizado o manipulado antes de ser pasado al motor de detección, detección:
realiza pruebas sencillas en partes específicas de los paquetes y la salida:
reporta los resultados de otros plugins; que permiten una flexibilidad
prácticamente ilimitada, activando módulos que vienen con la distribución o
creando nuevos.
10 Snort. Enlace: http://www.maestrosdelweb.com/editorial/snort/ 11 Ibíd.
1.2 Redes Neuronales
“Las redes neuronales artificiales surgieron con el fin de emular características
de las redes neuronales biológicas, siendo así un modelo de razonamiento
basado en el cerebro humano. Las RNA Permiten extraer las capacidades y
habilidades del sistema neuronal para resolver problemas complejos, como por
ejemplo evitar ataques a una red (PAN, LAN, CAN, MAN, WAN) logrando de
esta manera minimizar las intrusiones no deseadas. A diferencia de las
computadoras, las RNA pueden realizan muchas operaciones simultáneamente
debido al sistema de distribución paralelo que maneja. Las ventajas de las RNA
que se pueden evidenciar son”12:
• Comportamiento altamente no-lineal, lo que les permite procesar
información procedente de otros fenómenos no-lineales. Esta propiedad
las hace convenientes en ciertas aplicaciones, donde, una avería puede
constituir un serio peligro.
• Posibilidad de procesamiento paralelo, aspecto que aprovechado en la
implementación lleva a aumentar considerablemente la velocidad de
procesamiento.
• Inclinación natural a adquirir el conocimiento a través de la experiencia,
el cual es almacenado, al igual que en el cerebro, en el peso relativo de
las conexiones ínter
Neuronales.
• Altísima plasticidad y gran adaptabilidad, son capaces de cambiar
dinámicamente con el medio.
12
Aplicación de redes neuronales artificiales. Enlace: http://nopiedra.files.wordpress.com/2007/10/aplicacion-de-redes-neuronales-artificiales-para-la-ingenieria-de-trafico-de-internet.pdf
• Alto nivel de tolerancia a fallas, es decir, pueden sufrir un daño
considerable y continuar teniendo un gran comportamiento, al igual que
ocurre con los sistemas biológicos.
• La red puede generalizar el conjunto de entrenamiento y así tratar con
ejemplos no conocidos.
• Son sistemas robustos y tolerantes a fallas, diariamente mueren
neuronas sin afectar su desempeño.
• Se ajustan a nuevos ambientes de aprendizaje, no hay que
programarlas.
• Pueden manejar información difusa, con ruido o inconsistentes.
• Escalabilidad13: actualmente las RNA al igual que las redes LAN, son
redes escalables por que tienen la habilidad para manejar el crecimiento
continuo del trabajo, sin perder la calidad del servicio que se ofrece, se
ajustan a los cambios y por tanto se facilita su adaptación e
implementación en proyectos de seguridad informática.
• Mayor capacidad y velocidad: las RNA son eficaces para procesos que
presenten problemas complejos y adicionalmente pueden procesar una
gran cantidad de datos en poco tiempo, por que operan en tiempo real y
trabajan en paralelo actualizando las entradas y salidas.
• Autonomía: el algoritmo de auto aprendizaje de la RNA organiza y
actualiza la información, disminuyendo la intervención del administrador
del sistema.
• Mayor seguridad: en cuanto a la tolerancia de fallas las RNA son capaces
de seguir respondiendo aun si la red ha sido alterada
• Tiempo real: la estructura de una RNA es paralela, por lo cuál si esto es
implementado con computadoras o en dispositivos electrónicos
especiales, se pueden obtener respuestas en tiempo real.
13 Ibíd.
1.2.1 Diseño y programación de una RNA
“El objetivo es modelar matemáticamente el problema para poder formular una
solución mediante un algoritmo codificado que permitan resolver dicho
problema. Por consiguiente las RNA parten de un conjunto de datos de entrada
con el fin de conseguir que la red aprenda automáticamente las propiedades
deseadas. El diseño de la red debe manejar la selección del modelo de red, las
variables a incorporar y el preprocesamiento de la información que formará el
conjunto de entrenamiento”14.
1.2.2 Funcionamiento de las RNA
Una red neuronal consiste en simular las propiedades observadas en los
sistemas neuronales biológicos que a través de modelos matemáticos recreados
mediante mecanismos artificiales tienen como objetivo conseguir que las
máquinas den respuestas similares a las que es capaz de dar el cerebro que se
caracterizan por su generalización y su robustez.
Una red neuronal se compone de unidades llamadas neuronas. Cada neurona
recibe una serie de entradas a través de interconexiones y emite una salida.
Esta salida viene dada por tres funciones15:
Una función de propagación que consiste en la sumatoria de cada entrada
multiplicada por el peso de su interconexión (valor neto). Si el peso es positivo,
la conexión se denomina excitatoria; si es negativo, se denomina inhibitoria.
Una función de activación, que modifica a la anterior. Puede no existir, siendo
en este caso la salida la misma función de propagación.
14
Red neuronal artificial. Enlace: http://eva.comenius.usach.cl/recursosenlaces/iartificial/SRPAN_henriquez_donoso_flores/IA/rna.htm 15
Ibíd.
Una función de transferencia, que se aplica al valor devuelto por la función de
activación. Se utiliza para acotar la salida de la neurona, algunas de las más
utilizadas son la sigmoide (para obtener valores en el intervalo [0,1]) y la
tangente hiperbólica (para obtener valores en el intervalo [-1,1]).
1.2.3 Estructura de las RNA
“De acuerdo a la simulación de las neuronas biológicas la reorganización de las
conexiones sinápticas biológicas se modela mediante un mecanismo de pesos,
que son ajustados durante la fase de aprendizaje. En una RNA entrenada, el
conjunto de los pesos determina el conocimiento de esa RNA y tiene la
propiedad de resolver el problema para el que la RNA ha sido entrenada”16.
Las RNA además de los pesos y las conexiones, cada neurona tiene asociada
una función matemática denominada función de transferencia. Dicha función
genera la señal de salida de la neurona a partir de las señales de entrada. La
entrada de la función es la suma de todas las señales de entrada por el peso
asociado a la conexión de entrada de la señal.
Una red neuronal se compone de unidades llamadas neuronas. Cada neurona
recibe una serie de entradas a través de interconexiones y emite una salida. En
esta salida se puede dar tres funciones:
� Función de propagación o de excitación: consiste en el sumatorio de cada
entrada multiplicada por el peso de su valor neto. Si el peso es positivo, la
conexión se denomina excitatoria; si es negativo, se denomina inhibitoria.
� Función de activación: modifica al anterior. Puede no existir, siendo en
este caso la salida la misma función de propagación.
16
EMILIO SORIA, Antonio Blanco. Redes Neuronales Artificiales. Abril 2004. España.
� Función de transferencia: se
activación. Se utiliza para acotar la salida de la neurona y generalmente
viene dada por la interpretación que se quiera dar a dichas salidas.
Algunas de las más utilizadas son la sigmoide (para obtener valores e
intervalo) y la tangente hiperbólica (para obtener valores en el intervalo).
Fuente:
� Xi están enviando señales de entrada que representa los valores
numéricos.
� Wj representan los
la red y determina la señal de entrada registrada por la neurona artificial.
� El Punto de suma es donde se realiza la sumatoria de las entradas por los
pesos sinápticos a
� En la función de activación es donde se realiza el aprendizaje de la
neurona dependiendo los datos a medir.
� Señal de salida es donde encontramos la salida deseada.
Función de transferencia: se aplica al valor devuelto por la función de
activación. Se utiliza para acotar la salida de la neurona y generalmente
viene dada por la interpretación que se quiera dar a dichas salidas.
Algunas de las más utilizadas son la sigmoide (para obtener valores e
intervalo) y la tangente hiperbólica (para obtener valores en el intervalo).
Figura N.1 Modelo de una neurona artificialFuente: SANCHEZ CAMPEROS, Edgar. Redes Neuronales.
Xi están enviando señales de entrada que representa los valores
Wj representan los pesos que son coeficientes que se pueden adaptar en
la red y determina la señal de entrada registrada por la neurona artificial.
El Punto de suma es donde se realiza la sumatoria de las entradas por los
pesos sinápticos adicionándole a su resultado el umbral.
En la función de activación es donde se realiza el aprendizaje de la
neurona dependiendo los datos a medir.
Señal de salida es donde encontramos la salida deseada.
aplica al valor devuelto por la función de
activación. Se utiliza para acotar la salida de la neurona y generalmente
viene dada por la interpretación que se quiera dar a dichas salidas.
Algunas de las más utilizadas son la sigmoide (para obtener valores en el
intervalo) y la tangente hiperbólica (para obtener valores en el intervalo).
1 Modelo de una neurona artificial SANCHEZ CAMPEROS, Edgar. Redes Neuronales.
Xi están enviando señales de entrada que representa los valores
son coeficientes que se pueden adaptar en
la red y determina la señal de entrada registrada por la neurona artificial.
El Punto de suma es donde se realiza la sumatoria de las entradas por los
dicionándole a su resultado el umbral.
En la función de activación es donde se realiza el aprendizaje de la
Señal de salida es donde encontramos la salida deseada.
1.2.4 Tipología de las RNA
Son tomadas las tipologías de las redes neuronales como modelos, a
continuación se expondrán algunos de ellos.
1.2.4.1 Perceptrón simple
El perceptrón es una red de alimentación directa, que permite que la
información fluya desde la capa de entrada hacia la capa de salida de esta
manera cada vector pertenece a una de las particiones que crea el
perceptrón17.
1.2.4.1.1 Arquitectura del perceptrón
El perceptrón simple es una red que consta de dos capas de neuronas
los cuales emite valores binarios o bipolares como entrada para los sensores y
los valores de su salida están en el mismo rango que los de entrada.
En la primera capa el sensor es el que realiza la función por la cual entran las
señales a la red. En la segunda capa se realiza la interconexión entre todas las
capas ya que la neurona de la primera capa esta interconectada con las otras18.
17
Redes Neuronales. Enlace: http://es.wikipedia.org/wiki/Redes_neuronales_artificiales 18
Perceptrón simple. Enlace: http://www.redes-neuronales.netfirms.com/tutorial-redes-neuronales/el-perceptron-simple.htm
Figura N.2 Arquitectura de un Perceptrón. Fuente: http://www.redes-neuronales.netfirms.com/tutorial-redes-neuronales/el-
perceptron-simple.htm
1.2.4.1.2 Dinámica del perceptrón
Se establece el patrón de entrada en los sensores y la capa de entrada. Se
actualizan las neuronas de la capa de Salida. Las neuronas se actualizan de la
siguiente manera19:
• Sea el potencial de la neurona i,
• El peso asociado a la sinapsis que une la neurona i de la capa actual
y j de la capa de sensores.
• El estado del sensor j, entonces Y el estado de la neurona es o bien la
función escalón si las entradas de la red son binarias o bien la función
19
Ibíd.
signo si las entradas son bipolares {-1 ,1} estadoneuronaJ= Signo(
Sumatorio( Peso(ij)*Estado(j))
1.2.4.2 Adaline
“La palabra Adaline proviene de la fusión de las palabras inglesas “Adaptive
Linear Element”, traduciéndola al español el elemento lineal adaptable, también
nombrado Adalina, desarrollada por Windrow y Holf en 1969”20.
En una implementación física simple, está compuesto por un conjunto de
reóstatos conectados a un circuito que puede sumar corriente encausadas por
las señales de voltaje de entrada. Usualmente el bloque central, el sumador,
también es seguido por un cuantificador que produce +1 o -1, dependiendo
sobre la polaridad de la suma.
1.2.4.3 Perceptrón multicapa
“Es una ampliación del perceptrón en la cual se incrementan una serie de capas
en la cual hacen una transformación sobre las variables de entrada. Esto acaba
con el problema del perceptrón, convirtiendo las funciones linealmente no
independientes en linealmente independientes gracias a la transformación de la
capa oculta”21.
Las capas pueden clasificarse en tres tipos:
• Capa de entrada: Constituida por neuronas que introducen los patrones
de entrada en la red. En estas neuronas no se produce procesamiento.
20
DEL BRIO, Bonifacio. Redes Neuronales y Sistemas Difusos. Ed. Alfa omega. México. 21
Ibíd.
• Capas ocultas: Conformada por neuronas cuyas entradas provienen de
capas anteriores y las salidas pasan a neuronas de capas posteriores.
• Capa de salida: Neuronas cuyos valores de salida se corresponden con
las salidas de toda la red.
1.2.4.4 La Red de Hopfield
Es una red autoasociativa no lineal que fue desarrollada por Hopfield22 en 1982
basándose en los modelos de redes de McCulloch y Pitts y los símiles de los
campos magnéticos con spin de Amit, Gutfreund, & Sompolinsky.
En la arquitectura de la red de hopfield es una red monocapa, aunque también
se puede ver como una red bicapa es decir de dos capas, en donde la primera
capa es de sensores y la segunda capa será la capa donde se realiza el
procesamiento.
En la red bicapa la manera de interconexión de ambas capas es unir la primera
capa a la segunda linealmente, esto es cada neurona con su respectiva, y
después unir todas las neuronas con todas en la misma capa.
Encontramos que en la red Hopfiels puede tomar valores bipolares de -1 hasta
1 o valores binarios de 0 a 1.
La dinámica de la red de hopfield Ejecuta un patrón en la red que consiste en
enviar un patrón en la red y actualizar las neuronas repetidamente hasta que se
estabilicen los estados de las neuronas a un patrón memorizado.
22
Ibíd.
1.2.4.5 Red Competitiva
Se diferencian de las otras redes neuronales en que en las anteriores redes las
neuronas colaboran en la representación de los patrones, y en este tipo de
redes cada neurona compite con las otras neuronas para representar los
patrones.
Las neuronas compiten en cual representa mejor al patrón y la ganadora se
lleva todo el aprendizaje de ese patrón. El objetivo de estas redes es que se
formen grupos de patrones, categorías, que son representados por cada
neurona23.
Cuando ejecutamos un patrón en una red competitiva solamente se activa una
neurona que es la que representa mejor el patrón.
1.2.4.6 Red de Elman
Estructura de la Red: La red de Elman típicamente posee dos capas, cada una
compuesta de una red tipo Backpropagation, con la adición de una conexión de
realimentación desde la salida de la capa oculta hacia la entrada de la misma
capa oculta, esta realimentación permite a la red de Elman aprender a
reconocer y generar patrones temporales o variantes con el tiempo24.
23
Ibíd. 24
SANCHEZ CAMPERO, Edgar. Redes Neuronales Conceptos fundamentales y aplicaciones a control automático. Ed. Prentice Hall 2006. Madrid.
1.2.5 Topología de las Redes Neuronales
La arquitectura de las redes neuronales consiste en la organización y
disposición de las neuronas formando capas más o menos alejadas de la
entrada y salida de la red.
Existen dos tipos de redes de propagación hacia delante o a cíclicas en las que
todas las señales van desde la capa de entrada hacia la salida sin existir ciclos,
ni conexiones entre neuronas de la misma capa25.
1.2.5.1 Redes Monocapa
“Establece conexiones entre las neuronas que pertenecen a la única capa que
constituye la red. Se utilizan en tareas; por ejemplo, para generar
informaciones de entrada que se presentan a las redes incompletas o
distorsionadas”26.
1.2.5.2 Redes Multicapa
“Son conjuntos de neuronas agrupadas en varios niveles o capas. Para poder
distinguir la capa a la que pertenece la neurona, se debe fijar en el origen de
las señales que recibe a la entrada y el destino de la señal de salida”27. Según
el tipo de conexión, como se vio previamente, se distinguen las redes
feedforward, y las redes feedforward/feedback.
25
Ibíd. 26
Ibíd. 27
Monografías. Enlace: http://www.monografias.com/trabajos12/redneur/redneur.shtml#ESRUCT
1.2.6 Aprendizaje de las Redes Neuronales Artificiales
Aprendizaje es el proceso por el cual una red neuronal modifica sus pesos en
respuesta a una información de entrada. En este proceso de aprendizaje
encontramos algunos cambios en el que se reducen a la destrucción,
modificación y creación de conexiones entre las neuronas, la creación de una
nueva conexión implica que el peso de la misma pasa a tener un valor distinto
de cero, una conexión se destruye cuando su peso pasa a ser cero28.
1.2.6.1 Redes con Aprendizaje Supervisado
“Se realiza mediante un entrenamiento controlado por un agente maestro que
determina la respuesta que debería generar la red a partir de una entrada
determinada. El maestro comprueba la salida de la red y en el caso de que ésta
no coincida con la deseada, se procederá a modificar los pesos de las
conexiones, con el fin de conseguir que la salida se aproxime a la deseada”29.
1.2.6.2 Aprendizaje por corrección de error
Ajusta los pesos en función de la diferencia entre los valores deseados y los
obtenidos en la salida de la red.
1.2.6.3 Aprendizaje por refuerzo
Consiste en no indicar durante el entrenamiento exactamente la salida que se
desea que proporcione la red ante una determinada entrada. La función del
maestro se reduce a indicar mediante una señal de refuerzo si la salida
obtenida en la red se ajusta a la deseada.
28
Ibíd. 29
Ibíd.
1.2.6.4 Aprendizaje estocástico
Este tipo de aprendizaje consiste básicamente en realizar cambios aleatorios en
los valores de los pesos de las conexiones de la red y evaluar su efecto a partir
del objetivo deseado y de distribuciones de probabilidad30.
1.2.6.5 Redes con Aprendizaje No Supervisado
Estas redes no requieren influencia externa para ajustar los pesos de las
conexiones entre neuronas. La red no recibe ninguna información por parte del
entorno que le indique si la salida generada es o no correcta, así que existen
varias posibilidades en cuanto a la interpretación de la salida de estas redes.
1.2.7 Redes de computadoras
Para determinar la red sobre la cual se oriento el desarrollo del trabajo, es
necesario realizar una breve descripción de la clasificación de las redes y su
arquitectura.
En primer lugar las redes se pueden clasificar de tres maneras, por alcance, por
método de conexión y por relación funcional.31
1.2.7.1 Por alcance
• (PAN - Personal Área Network) Red de área personal
• (LAN - Local Área Network) Red de área local
• (CAN - Campus Área Network) Red de área de campus
• (MAN - Metropolitan Área Network) Red de área metropolitana
• (WAN - Wide Área Network) Red de área amplia
30
OLMEDA, Ignacio. Redes Neuronales Artificiales: fundamentos y aplicaciones. Alcalá: universidad de Alcalá. Servicio de publicaciones, 1993. 31 Redes de computadoras. Enlace: http://es.wikipedia.org/wiki/Red_de_computadoras
1.2.7.2 Por método de la conexión32
• Medios guiados: cable coaxial, cable de par trenzado, fibra óptica
y otros tipos de cables.
• Medios no guiados: radio, infrarrojos, microondas, láser y otras
redes inalámbricas.
1.2.7.2 Por relación funcional
• Cliente-servidor
• Igual-a-Igual (p2p)
Adicionalmente se debe tener en cuenta la arquitectura de la red, la cual puede
ser definida de dos maneras, por topología de red y por los tipos de transmisión
ó direccionalidad de los datos. Por Topología de red33:
• Red de bus
• Red de estrella
• Red de anillo (o doble anillo)
• Red en malla (o totalmente conexa)
• Red en árbol
• Red Mixta (cualquier combinación de las anteriores)
Por la direccionalidad de los datos (tipos de transmisión):
• Simplex (unidireccionales), un Equipo Terminal de Datos transmite
y otro recibe. (p.e. Streaming)
32
Ibíd. 33
Ibíd.
• Half-Duplex (bidireccionales), sólo un equipo transmite a la vez.
También se llama Semi-Duplex. (p.e. Una comunicación por
equipos de radio, si los equipos no son full dúplex, uno no podría
transmitir (hablar) si la otra persona está también transmitiendo
(hablando) porque su equipo estaría recibiendo (escuchando) en
ese momento).
• Full-Duplex (bidireccionales), ambos pueden transmitir y recibir a
la vez una misma información. (p.e. Video-Conferencia)
Una vez revisados estos conceptos se define que la red a trabajar será una red
PAN (Personal Área Network) ó red de área personal, escogida por ser la red
de menor alcance, lo cual permite aprovechar de mejor forma los recursos
existentes además de permitir un trabajo mas minucioso y detallado; en cuanto
a los métodos de conexión, los elementos existentes permiten realizar
conexiones por medios guiados y no guiados al mismo tiempo, La relación
funcional será de tipo cliente-servidor ya que será en un servidor en donde se
planteara la utilización del prototipo, para la arquitectura utilizaremos una
topología tipo estrella y el tipo de transmisión será full-duplex.
1.2 Algoritmo de Aprendizaje
“Un algoritmo es el conjunto de operaciones y procedimientos que deben
seguirse para resolver un problema. El lenguaje algorítmico es aquel por
medio del cual se realiza un análisis previo del problema a resolver y encontrar
un método que permita resolverlo. El conjunto de todas las operaciones a
realizar, y el orden en el que deben efectuarse, se le denomina algoritmo”34.
34
Wikipedia: La Enciclopedia Libre. Red neuronal artificial [en línea]. [ref. de 7 de Mayo de 2008]. http://es.wikipedia.org/wiki/Red_neuronal_artificial
Con las anteriores definiciones se establece la diferencia y relación entre lo que
es una paradigma y un algoritmo; el paradigma es el modelo que se sigue y el
algoritmo es el conjunto de operaciones y procedimientos que han de
implementarse dentro de dicho modelo.
El algoritmo que se emplea en el prototipo es el Algoritmo de Corrección de
Errores, implementado sobre la tipología de RNA Perceptrón simple.
En el marco de la investigación se trata el tema de las RNA implementada a un
IDS, basada en una de las características que poseen las RNA como son los
algoritmos de aprendizaje. A continuación, se citarán algunos temas referentes
al del aprendizaje.
1.3.1 ¿Qué es el Aprendizaje?
La definición mas sencilla es la de “Proceso mediante el cual un ente adquiere
conocimiento”, pero desde la perspectiva del problema que se está abordando,
se afirma que el aprendizaje es “Creación de programas capaces de generalizar
comportamientos a partir de información sin estructurar, suministrada en forma
de ejemplos”.35
1.3.2 ¿Qué es un algoritmo de aprendizaje?
Es un conjunto de reglas bien definidas que tenga la capacidad de dar solución
a un problema de aprendizaje en un ambiente dinámico36. Se dice que es un
ambiente dinámico por que la neurona que se emplea, tiene la capacidad de
afrontar cambios en su entorno y poseer la capacidad de aprender de los
cambios suscitados.
35 Ibid. 36 Ibid.
Dado lo anterior se puede concluir, el aprendizaje es un proceso inductivo y que
un algoritmo de aprendizaje, es un conjunto de parámetros definidos sujetos a
un proceso de inducción de conocimiento proveído por un entorno, en este caso
una red PAN.
1.3.3 Tipos de algoritmos de aprendizaje
Antes de empezar con los tipos, es importante tener definido el concepto de
paradigma: un modelo o patrón en cualquier disciplina científica u otro contexto
epistemológico.
El Aprendizaje Automático o Learning Machine37, comprende diferentes
mecanismos, reglas enfoques y tecnologías mediante los cuales un computador
puede aprender a desarrollar tareas que los seres humanos lo hacemos de
forma natural y rápida, como por ejemplo; reconocer imágenes, entender el
lenguaje natural, tomar decisiones, etc. Existen dos maneras como se puede
llevar el aprendizaje; supervisado y no supervisado; la diferencia básica entre
uno y otro tipo es la presencia o no de la variable dependiente38.
Diferentes aplicaciones han sido implementadas utilizando por ejemplo, redes
neuronales o algoritmos de clasificación por vecindad para detectar fraudes en
cajeros electrónicos; el crecimiento de los datos corporativos; donde se
requiere identificar patrones desconocidos y generar conocimiento que ayude a
la toma de decisiones.
37 T, Mitchell. Machine Learning, McGraw Hill.1997 38 Universidad Nacional de Colombia: Redes Neuronales Artificiales [Ref. Mayo 28 de 2008] http://www.virtual.unal.edu.co/cursos/ingenieria/2001832/lecciones/cap_4/intro_rna.htm
1.3.3.1 Paradigma supervisado
El algoritmo produce una función que establece una correspondencia entre las
entradas y las salidas deseadas del sistema. Un ejemplo de este tipo de
algoritmo es el problema de clasificación, donde el sistema de aprendizaje trata
de etiquetar (clasificar) una serie de vectores utilizando una entre varias
categorías (clases). La base de conocimiento del sistema está formada por
ejemplos de etiquetados anteriores39.
1.3.3.2 Paradigma no supervisado
Todo el proceso de modelado se lleva a cabo sobre un conjunto de ejemplos
formado tan sólo por entradas al sistema. No se tiene información sobre las
categorías de esos ejemplos40.
1.3.3.3 Paradigma por refuerzo
El algoritmo aprende observando el mundo que le rodea. Su información de
entrada es el feedback o retroalimentación que obtiene del mundo exterior
como respuesta a sus acciones41.
1.3.3.4 Transducción
Similar al aprendizaje supervisado, pero no construye de forma explícita una
función. Trata de predecir las categorías de los futuros ejemplos basándose en
39 Ibíd. 40 Ibíd. 41 Ibíd.
los ejemplos de entrada, sus respectivas categorías y los ejemplos nuevos al
sistema42.
1.3.3.5 Aprendizaje multi-tarea
Métodos de aprendizaje que usan conocimiento previamente aprendido por el
sistema de cara a enfrentarse a problemas parecidos a los ya vistos43.
En el aprendizaje hay que tener en cuenta los siguientes pasos:
� Estimulación de la Red Neuronal Artificial por un ambiente.
� La red neuronal sufre cambios en sus parámetros libres como resultado
de dicha estimulación.
� La red neuronal responde de manera diferente al ambiente debido a los
cambios que ocurrieron en su estructura interna.
1.3.4 Tipos de algoritmos
Corrección de Error44 Aprendizaje
Hebbiano45
Basados en
memoria46
Aprendizaj
e
competitiv
o47
Aprendizaje Estocástico48
Se busca minimizar la
función de error
Es una de las más
antiguas y famosas reglas
de aprendizaje
propuesta por el
Neuropsicólogo Hebb en
su libro The Organization
of Behavior [1949]:
En este tipo
de
aprendizaje,
la mayoría
de las
experiencias
pasadas son
almacenadas
Explícitament
e en una
Mientras que
en una RNA
basada en
aprendizaje
Hebbiano,
pueden
activarse
simultáneam
ente
diferentes
Basada en la Maquina de
Boltzmann. La MB constituye
una estructura recurrente
con salidas binarias.
La MB se caracteriza por una
función
de energía E, cuyo valor está
definido por los estados de
cada neurona.
42 WIKIPEDIA.COM. La enciclopedia libre. 2007. Enlace: http://es.wikipedia.org/wiki 43 WIKIPEDIA.COM. La enciclopedia libre. 2007. Enlace: http://es.wikipedia.org/wiki/algoritmo 44 Ibíd. 45 Ibíd. 46 Ibíd. 47 Ibíd. 48 Ibíd.
gran
memoria.
neuronas de
salida, en
aprendizaje
competitivo
solamente
una neurona
se activa al
tiempo.
Modelo matemático
)()()( txtetw jkkj η=∆
ηηηη es una constante
positiva que determina
la tasa de aprendizaje
en cada paso.
Modelo matemático
),(()( xtyFtw jkkj =∆
F es una función de las
señales pre y post-
sinápticas.
Modelo
matemático
( ){ }N
i 1ii d,x =
Elementos
básicos
[Rumelhart
1985]:
Un conjunto
de neuronas
que
responden
diferente
para un
conjunto
dado de
patrones
Se impone
un límite en
la
“intensidad”
de cada
neurona un
mecanismo
que les
permite a las
neuronas
competir.
Modelo matemático
kkjkj
xxwE ∑∑−=2
1
kj ≠
Actualización de pesos
sinápticos
)()()( txtetw jkkj η=∆
Hipótesis de Hebb
)()()( txtytw jkkj η=∆
Estos
algoritmos
involucran:
•Criterio
usado para
definir el
vecino
más cercano.
•Regla de
aprendizaje a
aplicar a los
ejemplos de
entrenamient
o.
Tabla N. 2 Comparativo de Tipos de Aprendizaje de Redes Neuronales Artificiales.
Fuente: Realizado por los Investigadores
1.3.4.1 Algoritmo de aprendizaje por corrección de error
Por sugerencia del docente asesor del grupo de investigación y previo estudio
realizado con otros algoritmos de aprendizaje, se optó por elegir el Algoritmo de
Corrección de Error por el fácil manejo en la implementación e interpretación
del modelo matemático que maneja. El algoritmo está basado en la regla Delta
propuesto por Widrow – Hoff en 1960, que busca minimizar la función de error
usando un gradiente descendente49. Este algoritmo es motivo de estudio en el
presente trabajo y se ajusta a las necesidades que presenta el IDS SNORT de sobre
una red PAN.
Al comparar la señal de salida con una respuesta deseada o salida
objetivo, d(t), se produce una señal de error e(t), donde t denota tiempo
discreto.
(t)=d(t) - y(t)
49
CAICEDO BRAVO, Eduardo, Redes Neuronales Artificiales, Arquitecturas y Aprendizaje. Facultad de
Ingeniería de la Universidad del Valle. Cali. Abril 3003.
La señal de error activa un mecanismo de control, cuyo propósito es aplicar una
secuencia de ajustes correctivos a los pesos sinápticos de la neurona de salida.
Los ajustes correctivos están diseñados para hacer que la señal de salida y(t) se
acerque a la respuesta deseada después de cada paso.
El objetivo del algoritmo de corrección de error es minimizar una función
costo o índice de desempeño J(t) definida en términos de la señal de error,
expresado de la siguiente manera:
Realizando la minimización el error se tiene lo siguiente:
Partiendo en dirección contraria al gradiente se obtiene:
Para soportar la selección del algoritmo de Corrección de Errores, se enuncian
en la siguiente tabla a modo informativo o símil, de los más usuales algoritmos
o modos de aprendizaje de las Redes Neuronales.
( )tetJ 2
2
1)( =
( ) ))()()(2)((2
1))((
2
1)( 222 tytytdtdtytdtJ +−=−=
))(
)(2)(
)(2(2
1)(
w
tyty
w
tytd
w
tJ
∂∂+
∂∂−=
∂∂
jkj
j
p
kkj
kj
xw
xw
w
ty =∂
∂=
∂∂ ∑
=1)(
)())()(()(
txtytdw
tJ −=∂
∂
1.3.5 Regla Delta de Widrow-Hoff (1960)
A continuación se enuncia los modelos matemáticos que constituye la Regla Delta50:
Paso 1: Sea ( )twkj el valor del peso sináptico ( )twkj de la neurona k excitada
por el elemento ( )tx j del vector señal ( )tx en el paso de tiempo t. El ajuste ∆
( )twkj aplicado al peso sináptico ( )twkj en el tiempo t se define por:
η: Parámetro tasa de aprendizaje
η Es una constante positiva que determina la tasa de aprendizaje en cada
paso del algoritmo.
Paso 2: El ajuste de un peso sináptico de una neurona es proporcional al
producto de la señal de error y a la señal de entrada de la sinapsis en cuestión.
• La señal de error es medible directamente, se requiere conocer la
respuesta deseada desde una fuente externa
• Regla de corrección de error local (alrededor de la neurona k).
Paso 3: Actualización del peso sináptico wkj
η(t) controla el ajuste aplicado al vector peso en la iteración t.
Regla de adaptación de incremento fijo
50
Ibíd.
)()()( txtetw jkkj η=∆
)()()( txtetw jkkj η=∆
)()()1( twtwtw kjkjkj ∆+=+
Si η(t)=η>0, donde η es constante independiente del número de iteración.
1.4 Marco de Antecedentes
Alcanzar la máxima seguridad en los procesos tele informáticos es uno de los
principales objetivos de cualquier empresa, para ello existen actualmente
herramientas y proyectos con dicho objetivo. El presente trabajo se apoya en
documentos, que por su contenido, referente a la temática central del presente
proyecto, sirven como guía y sustento para alcanzar los objetivos propuestos,
por lo tanto se presenta el resumen de cada uno de ellos.
El primero es el trabajo de grado presentado por un grupo de investigación del
programa de Ingeniería de Sistemas de la Fundación Universitaria
Panamericana en el año 2007 y da una breve introducción a las Redes
Neuronales Artificiales, los Sistemas Detectores de intrusos y la seguridad
informática, coincidiendo con la temática y orientación del presente proyecto.
Los dos trabajos siguientes se citan teniendo en cuenta los dos temas
principales a tratar en el desarrollo del proyecto (Los Sistemas Detectores de
Intrusos (IDS) y Las Redes Neuronales Artificiales).
1.4.1 Diseño de un modelo de una RNA para la Detección de Intrusos
en redes LAN conectadas a la Web por medio de IDS
RESUMEN
Este trabajo muestra el diseño de un modelo de red neuronal basado en el
concepto de sistemas de detección de intrusos, también la gran influencia de la
inseguridad informática sobre el mundo empresarial en la actualidad, la
repercusión negativa de los fraudes y delitos informáticos y la necesidad de una
herramienta que este en plena capacidad de detectar posibles intrusiones o
ataques a la información a nivel de redes conectadas a la Web51.
Se presenta un modelo cuyo diseño se basa en teorías y conceptos propios de
redes neuronales como estructura, arquitectura, diseño y entrenamiento,
también se lleva a cabo un estudio detallado de temas concernientes a los
sistemas de detección de intrusos considerando sus principales tareas, realizar
la detección de violaciones de seguridad que no pueden ser previstos, llevar a
cabo la detección preliminar de ataques, documentar el riesgo para la
organización, dar a conocer información de los actos de los intrusos, todo con
el fin de cumplir con los objetivos propuestos en el presente trabajo, que en
resumidas cuentas consisten en desarrollar el modelo de una red neuronal
basada en el concepto de sistema de detección de intrusos, capaz de alertar a
un administrador de red de posibles ataques.
El resultado es claro, la red neuronal fue diseñada teniendo en cuenta recientes
estudios y tesis que trataban de crear una herramienta capaz de garantizar la
seguridad informática, el modelo que se presenta en este trabajo es un sistema
detector de anomalías de respuesta pasiva que evalúa algunas condiciones y
características de la información y de la red que la transporta.
51
GARCIA JIMENEZ, Fredy Alfonso. MARTINEZ QUIÑONES, Edwin Andrés. PINEDA RODRIGUEZ, Viviana. Diseño de un modelo de una RNA para IDS. Fundación Universitaria Panamericana
1.4.2 Presente y Futuro de los IDS
Resumen
La detección de intrusos en una red telemática sigue siendo, hoy por hoy, un
problema de difícil resolución. Dada la naturaleza del problema, no existe un
método probado que permita la detección infalible. No obstante, el presente
documento intenta exponer un nuevo enfoque sobre la detección de intrusos,
analizando cual es la problemática de estos sistemas (NIDS 1) y señalando las
carencias actuales de dichas infraestructuras. Se propone un nuevo modelo
neuronal que permita realizar una detección heurística que disminuya la tasa
media de falsos positivos de los sistemas actuales. Por ultimo, se exponen
razonadamente las fortalezas y debilidades del nuevo modelo así como una
valoración de los resultados esperados de la aplicación del mismo52.
1.4.3 Detección de intrusos en la red utilizando redes neuronales
Resumen.
La seguridad de redes ha comenzado a ser un problema importante en el
mundo moderno. 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. Para poner freno a esta situación han surgido un grupo
significativo de herramientas, entre las que se destacan por sus grandes
potencialidades los Sistemas de Detección de Intrusos (IDS). Estos son los
encargados de monitorizar los eventos que ocurren en un sistema o red, para
52
BARRERA GARCIA, Alejandro. Presente y futuro de los IDS. Universidad Politécnica de Madrid. Enlace: http://neurosecurity.com/whitepapers/futureIDS.pdf
analizarlos en busca de problemas de seguridad. La inteligencia artificial ha sido
ampliamente utilizada en este tipo de herramientas, destacándose algunas
técnicas específicas como las redes neuronales (RN). El uso de RN con estos
fines ha producido algunos logros aunque aún no se han obtenido los
resultados esperados53.
La selección de la arquitectura de RN adecuada para la clasificación de
comportamientos en la red, es el problema principal a solucionar, primeramente
con una correcta selección de datos de entradas al clasificador neuronal y luego
con una definición de las salidas a tener en cuenta.
El presente trabajo propone una manera de resolver algunos de los problemas
existentes para la clasificación de ataques a partir de paquetes TCP/IP con
redes neuronales, utilizando para ello el Análisis de Componentes Principales
(PCA) como técnica de reducción de rasgos para la selección de las entradas.
1.5 Marco Conceptual
El tema de la seguridad informática es de importante relevancia dentro de las
organizaciones, aunando esfuerzos y recursos para evitar ataques a sus
sistemas de información y sus redes de computadores. A continuación se
enuncian conceptos básicos pero fundamentales, en la aplicación de las Redes
Neuronales Artificiales sobre los Sistemas de Detección de Intrusos54.
• INTRUSIÓN
Es un conglomerado de acciones dirigidas a poner en riesgo la integridad,
confidencialidad y disponibilidad de recursos de una red y el correcto acceso a
53
Ing. FONSECA, Iren Lorenzo. Dr. FERNANDEZ, Rogelio Lau. Detección de Intrusos en la red utilizando redes neuronales. Enlace:http://www.cujae.edu.cu/eventos/cittel/trabajos/Trabajos/Comision%201/CITTEL-12.pdf 54
WIKIPEDIA.COM. La enciclopedia libre. 2007. Enlace: http://es.wikipedia.org/wiki
la información en un sistema; actos perpetrados generalmente por terceros,
realizados desde la Internet.
• COMPARACIÓN DE PATRONES
El IDS trabaja bajo patrones de ataques conocidos, y buscan semejanza entre
estos y los paquetes que se analizan en el ingreso a la red. Para un óptimo
funcionamiento de este método depende en buena parte de una adecuada
actualización de su base de patrones de ataques55.
• COMPORTAMIENTO DE LA RED
En este método se analizan mediante prácticas estadísticas y técnicas de
Inteligencia Artificial, el flujo de una red, considerando una intrusión como algo
anormal de acuerdo a los parámetros estandarizados o considerados de
comportamiento normal.
• ATAQUES DE ESCANEO
Estos se utilizan para la recopilación de información sobre los puertos que se
escuchan en la red y después acceder a los recursos a través de ellos.
• ATAQUES DE ESCANEO TCP
Estos se basan en usar los flags que son bits de control para mantener la
conexión y el protocolo se incorpora para regular la comunicación.
55
Ibíd.
• ATAQUES POR FRAGMENTACION
Se fragmentan los paquetes de ataques SYN Y FIN, con el fin de cuando se
realicen los filtros de la red no se puedan detectar56.
• ATAQUE SNNIFING
Son ataques pasivos que recopilan y almacenan la información que circula en
la red.
• ATAQUES SNOOPING
Accede y desclara los datos para después manipularlos.
• WEB SOOPFING
Suplanta un sitio web por completo y recopila toda la información de los
usuarios.
• ATAQUES DE INGENIERIA SOCIAL
En este el atacante tiene la habilidad para que el usuario revele el login y
password.
• ATAQUES DE PUERTAS TRASERAS BACKDOORS
En este se accede con total libertad a la red y para el usuario es totalmente
transparente.
56
Ibíd.
• LOS HACKERS
“El hacker es aquél que entra ilegalmente a los sistemas de las organizaciones,
ingresa la red puede revisar la información y provocar caos en los sistemas
remotos si así lo quisiera, aunque no se consideran un peligro para la red por
no contar con intenciones delictivas, pueden vulnerar su seguridad. Los
hackers tienen elevados conocimientos de informática en cuanto a hardware y
software, manejan los sistemas operativos, lenguajes de programación,
conocen de errores y fallas en los sistemas haciéndolos de esta manera fuertes
para vulnerar cualquier sistema. Su objetivo es manipular los servicios de la
red y dejar constancia de su ingreso”57.
Los ataques que puede llegar a realizar un hackers al ingresar ilegalmente a la
red, puede ser adquirir passwords de sistemas, y adquisición de software,
También es común que entren a nuestros equipos de computo para ver qué
hacemos, o qué tenemos, pueden utilizar truco en las compras en líneas o
algún sistema que requiera autenticación, esto con el fin de recibir información
del usuario.
• LOS CRAKERS
El cracker es el que viola la seguridad de un sistema informático de forma
similar a como lo haría un hacker cuando logra ingresar a la red, la diferencia
entre el hacker y el cracker es que este ultimo realiza la intrusión con fines de
beneficio personal o para hacer daño ya sea a la información o a las personas
que suministran datos sin saber que están siendo vulnerados, mientras que el
hacker no lo hace con intenciones delictivas al contrario lo hace como un reto
informático que se puede vulnerar.
57
Ibíd.
Los crakers diseñan programas llamados cracks informáticos que sirven para
modificar el comportamiento y la funcionalidad de diferente software o
hardware, pueden modificar o alterar códigos fuentes de un programa58.
58
Ibíd.
2. DISEÑO BASE DE DATOS
Continuando con la aplicación de la metodología PHVA, se refleja la fase del
VERIFICAR, donde se implementan los procesos y se realiza el desarrollo de
todas aquellas actividades involucradas en el proyecto, como lo son el diseño
de la base de datos relacionando las actividades que forman parte de la
propuesta y el desarrollo de los diagramas para el modelo del prototipo de la
RNA con el algoritmo de aprendizaje y la interacción del IDS SNORT.
Figura N. 3 Modelo Relacional de la Base de Datos Fuente: Realizado por los investigadores
2.1 Diccionario de Datos
Nombre de la Base de Datos: neurona.
Descripción: La Base de Datos almacenará información respecto a las tablas
las cuales serán descritas a continuación.
La Base de Datos está compuesta por 5 tablas de la siguiente manera:
Nombre de la
Tabla
Número de
Campos
Llave
Primaria
Descripción
Ataquefecha 4 En esta tabla se sobre la fecha y el
tipo de ataque realizado a la red
Clasificación
3 Id_clasificacion En esta tabla se almacenará
diferentes tipos de clasificación
generar para los diferentes
ataques
Fecha 3 Idfecha En esta tabla se almacenara la
fecha en que se realizaron los
ataque a la red
Nivel 2 Id nivel En esta tabla se guardara los 3
niveles que puede tener un tipo de
a ataque (alto, medio, bajo)
Tipo_ataque 4 Id_tipo En esta tabla se guardara toda la
información sobre los diferentes
tipos de ataque y sus respectivos
nombres
Tabla N. 3 Relación De Tablas Fuente: Realizado por los Investigadores
Tabla: ATAQUEFECHA
Llave Primaria: Llave Foránea: id_nivel,
id_clasificacion, id_tipo, idfecha Auto incremento:
CAMPOS QUE LA COMPONEN:
Nombre Descripción Tipo Longitud. Obligatorio
Id_nivel identificador del
código del nivel es
llave foránea,
pertenece a la tabla
nivel
Integer Si
Id_clasifica
cion
identificador del
código del
clasificación es llave
foránea, pertenece a
la tabla clasificación
Integer Si
Id_tipo identificador de el
código del tipo es
llave foránea,
pertenece a la tabla
tipo
Integer
Si
Idfecha identificador de el
código del tipo es
llave foránea,
pertenece a la tabla
tipo
Integer Si
Tabla N. 4 Ataquefecha
Fuente: Realizado por los investigadores
Tabla: CLASIFICACION
Llave Primaria: Id_clasificacion Llave Foránea: id_nivel
Auto incremento: si CAMPOS QUE LA COMPONEN:
Nombre Descripción Tipo Longitud. Obligatorio
Id_nivel identificador del
código del nivel es
llave foránea,
pertenece a la
tabla nivel
Integer Si
Id_clasificacio
n
Identificador del
código del
clasificación es
llave primaria. De
esta tabla.
Integer Si
Nombre En este campo se
guardara el
nombre que le
asignamos a cada
tipo de
clasificación.
text Si
Tabla N.5 Clasificación
Fuente: Realizado por los investigadores
Tabla: FECHA
Llave Primaria: Idfecha Llave Foránea:
Auto incremento: si CAMPOS QUE LA COMPONEN:
Nombre Descripción Tipo Longitud. Obligatorio
Idfecha identificador del
código del fecha es
llave primaria de
esta tabla
Integer Si
Fecha En este campo se
guardara la fecha
en que se
producen los
diferentes ataques
date Si
Hora En este campo se
guardara las
diferentes horas en
la cual se pueden
producir los
diferentes ataques
Datetim
e
Si
Tabla N. 6 Fecha Fuente: Realizado por los Investigadores
Tabla: NIVEL
Llave Primaria: Id_nivel Llave Foránea:
Auto incremento: si CAMPOS QUE LA COMPONEN:
Nombre Descripción Tipo Longitud. Obligatorio
Id_nivel identificador del
código del nivel es
llave primaria, en
esta tabla
Integer Si
Nivel En este campo se
guardara el
nombre del nivel
que la
asignaremos a
cada ataque (Alto,
Medio, Bajo)
text Si
Tabla N. 7 Nivel
Fuente: Realizado por los investigadores
Tabla: TIPO_ATAQUE
Llave Primaria: Id_tipo Llave Foránea: id_tipo,
id_clasificacion Auto incremento: si
CAMPOS QUE LA COMPONEN:
Nombre Descripción Tipo Longitud. Obligatorio
Id_tipo Identificador del
código del tipo
es llave
primaria, para
esta tabla.
Integer Si
Id_clasificacion Identificador del
código del
clasificación es
llave foránea,
pertenece a la
tabla
clasificación
Integer Si
Id_nivel identificador del
código del nivel
es llave foránea,
pertenece a la
tabla nivel
Integer Si
Nombra_ataque Nombre de los
diferentes
ataques que se
realizan en la
red.
Text si
Tabla N. 8 Tipo Ataque
Fuente: Realizado por los investigadores
2.2 Modelos del prototipo de la RNA con el algoritmo de
aprendizaje y la interacción del IDS SNORT.
A continuación se presenta el modelado propuesto para el prototipo, que
servirá de base para el diseño y la implementación de la red neuronal en
una red PAN.
2.2.1 Diagramas de caso de uso
Figura N.4 Aprendizaje de la Neurona
Fuente: Realizado por los investigadores
System
IDS1RNA1
Enviar tráfico1
Revisión de tráfico
Revisar Base Datos
Realizar aprendizaje
Alimentar B.D.
Enviar restricción
Figura N. 5 Recolección de datos Fuente: Realizado por los investigadores
System
IDS2
RNA2
Enviar tráfico2
Clasificación
Tipo de ataque
Fecha
Nivel
Revisar Base de datos
Alimentar Base de datos
Enviar restricciones
"incluir"
"incluir"
"incluir"
"incluir"
Figura N. 6 Interacción neurona, Base de datos y Snort Fuente: Realizado por los investigadores
System
snort
neurona
base datos
verifica informacion
deside si es ataque
guarda informacion<<include>>
Figura N. 7 Interacción Snort, usuarios y Neurona
Fuente: Realizado por los investigadores
System
UsuarioSnort
Hacker // Cracker
Neurona
Accede al Sistema
Crea Registro
Filtra Informacion
Acceso a Usuario
Bloque de Usuario
2.2.2 Diagramas de Actividades
Figura N. 8 Funcionamiento Red (IDS y RNA) Fuente: Realizado por los investigadores
[IDS]
Inciar envío de tráfico
[RNA]
Revisión de tráfico IDS
Enviar tráfico anómalo
Alimentar la B.D. No se conoce ataque
Enviar respuesta a RNA
Se conoce ataque
Enviar restricción a IDS
Figura N. 9 Aprendizaje Neurona Fuente: Realizado por los investigadores
[IDS]
Iniciar envío de tráfico
[RNA]
Revisar tráfico de IDS
Evaluar tráfico anómalo de IDS
Ejecutar algoritmo de aprendizaje
Alimentar Base de Datos
No se conoce ataque
Enviar confirmación a RNA
Enviar restricción a IDS
Se conoce ataque
Figura N. 10 Funcionamiento de la neurona Fuente: Realizado por los investigadores
señal=n
ataque
guarda informacionen la base de datos
no pasainformacion
detieneataque
no ataque
pasa informacion
Figura N. 11 Funcionamiento base de datos y Snort Fuente: Realizado por los investigadores
informacion snort
toda informacionataque
fecha horaataque
Figura N. 12 Filtro del Ataque Fuente: Realizado por los investigadores
Snort NeuronaUsuario
Acceso al Sistema Recolecta Información
Filtra Información
Autoriza Usuario
Bloquea Usuario
Brinda Acceso
Bloquea Acesso
Accede a la Información
2.2.3 Diagrama de secuencias
Figura N. 13 Funcionamiento de la Red (IDS y RNA) Fuente: Realizado por los investigadores
IDS1 RNA1 Base de Datos1
1 : Envío de tráfico a()
2 : Revisión de trafico con()3 : Envío revisión anomalías en()
4 : Revisión anomalías()
5 : Alimentación de B.D.()
6 : Envío respuesta()
7 : Aprendizaje con respuesta()
8 : Envío de respuesta con restricción a()
Figura N. 14 Funcionamiento Snort y Neurona Fuente: Realizado por los investigadores
IDS1 RNA1 Base de Datos1
1 : Envío de tráfico a()
2 : Revisión de trafico con()3 : Envío revisión anomalías en()
4 : Revisión anomalías()
5 : Alimentación de B.D.()
6 : Envío respuesta()
7 : Aprendizaje con respuesta()
8 : Envío de respuesta con restricción a()
Figura N. 15 Funcionamiento Snort y Neurona Ataque (usuarios) Fuente: Realizado por los investigadores
Snort NeuronaUsuarios
1 : Acceso al Sistema()
2 : Envio Informacion()
3 : Filtro Posible Ataque()
4 : No es Atauqe()
5 : Acceso a la Informacion()
6 : Obtiene Infromación()
7 : Salir del Sistema()
Figura N. 16 Funcionamiento Snort y Neurona Ataque (hacker) Fuente: Realizado por los investigadores
Hacker // Cracker Snort Neurona
1 : Acceso al Sistema()
2 : Envia Información()
3 : Filtro de Posible Ataque()
4 : Si es Ataque()
5 : Bloqueo A Usuario()
6 : Sale del Sistema()
2.2.4 Diagramas de Colaboración
Figura N. 17 Aprendizaje Fuente: Realizado por los investigadores
Figura N. 18 Snort y Neurona Fuente: Realizado por los investigadores
Para finalizar con la metodología propuesta para este proyecto y que se ve
reflejado en su última fase ACTUAR, será la programación de la neurona
con base al modelado expuesto y a la posterior implementación que
servirá como herramienta de seguridad en una instancia para redes PAN y
en un futuro redes LAN.
IDS RNA
Algoritmo de aprendizaje
B.D.
IDS RNA
Base de datos
3. DISEÑO METODOLOGICO
La metodología utilizada para el desarrollo del presente trabajo es la PHVA
(Planear, Hacer, Verificar y Actuar), porque es una metodología que
permite su desarrollo a través de fases que impulsan a un ciclo de mejora
continua en los procesos.
La metodología PHVA se aplica en cuatro (4) fases:
FASE 1 PLANEAR ACTIVIDADES A
REALIZAR
RESULTADOS
� Definición del
proyecto
� Determinar el
tema del proyecto
� Delimitación del
tema
� Definir la
importancia del
desarrollo del
proyecto
� Búsqueda de
Información
relacionada con el
tema
� Formulación del
problema
� Justificación del
proyecto
Planteamiento de objetivo
general y específicos
� Indagación y
profundización de
temas relacionado
con el proyecto
(Marco Teórico
antecedentes y
referencial)
� Alcance del
objetivo principal
del proyecto
� Aceptación del
estudio
� Factibilidad del
tema propuesto
FASE 2 HACER ACTIVIDADES A
REALIZAR
RESULTADOS
Recopilación de la
� Ejecución de las
Informe final del
información relacionada
con el tema del proyecto
Análisis de la información
Representar los datos a
través de diagramas
Implementación de los
procesos
tareas programadas
� Elaboración del
informe
� Desarrollo del
proyecto
� Elaboración de
diagramas de
modelado de los
procesos involucrados
� Elaboración de la
base de datos
� Elaboración del
modelo relacional de
la base de datos
proyecto
FASE 3 VERIFICAR ACTIVIDADES A
REALIZAR
RESULTADOS
Verificación del desarrollo
del proyecto
Medición de procesos
Realizar pruebas de
escritorio
Determinar cumplimiento
de objetivos y metas
alcanzadas
Solución al problema
Resultados
aprobados
Solución a la
formulación del
problema
Informe final
aprobado
FASE 4 ACTUAR ACTIVIDADES A
REALIZAR
RESULTADOS
Ejecución e
implementación del
proyecto
Recomendación de
nuevos proyectos
Base para el diseño y la
implementación de la
RNA.
Ejecutar acciones
para mejoras
continuas al
proyecto
Tabla N.9 Diseño Metodológico Fuente: Realizado por los Investigadores
La siguiente gráfica representa las cuatro (4) fases de la metodología
PHVA demostrando que es un ciclo de mejora continua para cualquier
proceso que se desee desarrollar.
Figura N. 19 El ciclo "Planificar-Hacer-Verificar-Actuar"
Fuente: Foro enlace: http/www.estrucplan.com
4. CONCLUSIONES
Al presentar el anterior modelo se deja abierta la senda para posteriores
desarrollos e implementaciones de las redes neuronales en la seguridad
informática.
Las redes neuronales pueden ser tomadas como herramientas de
optimización y mejoramiento de aplicaciones existentes en cuanto a la
seguridad informática se refiere.
Debido a los constantes cambios y mejoras en las tácticas de los ataques
informáticos es necesario comenzar a implementar sistemas que se
adapten mejor y con mayor velocidad a estos factores de manera que sea
mucho mas fácil detectarlos y contrarrestarlos.
La implementación de redes neuronales artificiales en la seguridad de las
redes informáticas es hoy por hoy la mejor alternativa por su escalabilidad
y adaptabilidad.
Al implementar cada uno de los modelos propuestos en el presente
trabajo, en una red PAN, podrán actuar como una herramienta que
previene y evita posibles ataques o amenazas al trafico e información que
se envía a través de la red interna.
5. RECOMENDACIONES
El presente proyecto es la base para el diseño e implementación de la RNA
en interacción con un IDS que sea compatible con plataformas como
UNIX/LINUX o WINDOWS, para que sea utilizado como una herramienta
de seguridad informática y se refleje el óptimo funcionamiento del IDS con
la neurona en su aprendizaje.
Con el modelado del prototipo propuesto se busca la continuidad del
proyecto para ser programado, definiendo los pesos de entrada de la
neurona, para que esta tenga el aprendizaje y facilite las tareas del
administrador de red donde sea implementado dicho proyecto.
Una vez realizadas las pruebas correspondientes en la red PAN es
aconsejable continuar el proceso con redes de mayor cobertura
geográfica.
6. BIBLIOGRAFIA
BARRERA GARCIA, Alejandro. Presente y futuro de los IDS. Universidad
Politécnica de Madrid.
Enlace: http://neurosecurity.com/whitepapers/futureIDS.pdf
CAICEDO BRAVO, Eduardo, Redes Neuronales Artificiales, Arquitecturas y
Aprendizaje. Facultad de Ingeniería de la Universidad del Valle. Cali. Abril
3003.
DEL BRIO, Bonifacio. Redes Neuronales y Sistemas Difusos. Ed. Alfa
omega. México.
EMILIO SORIA, Antonio Blanco. Redes Neuronales Artificiales. Abril 2004.
España.
GARCIA JIMENEZ, Fredy Alfonso. MARTINEZ QUIÑONES, Edwin Andrés.
PINEDA RODRIGUEZ, Viviana. Diseño de un modelo de una RNA para IDS.
Fundación Universitaria Panamericana
Ing. FONSECA, Iren Lorenzo. Dr. FERNANDEZ, Rogelio Lau. Detección de
Intrusos en la red utilizando redes neuronales.
SANCHEZ CAMPERO, Edgar. Redes Neuronales Conceptos fundamentales
y aplicaciones a control automático. Ed. Prentice Hall 2006. Madrid.
OLMEDA, Ignacio. Redes Neuronales Artificiales: fundamentos y
aplicaciones. Alcalá: universidad de Alcalá. Servicio de publicaciones,
1993.
T, Mitchell. Machine Learning, McGraw Hill.1997
TORRES MEJIA, Efraín. Sistema Inmunológico para la Detección de
Intrusos a nivel de protocolo http. Bogotá, Mayo 2003
ALEGSA.COM. Diccionario Informático. Argentina 2008.
Enlace: http://www.alegsa.com.ar/Dic
Aplicación de redes neuronales artificiales.
Enlace:http://nopiedra.files.wordpress.com/2007/10/aplicacion-de-redes-
neuronales-artificiales-para-la-ingenieria-de-trafico-de-internet.pdf
LA WEB DEL PROGRAMADOR.COM. Diccionario Informático. 2008
Enlace: http://www.lawebdelprogramador.com/diccionario.
Conferencia.
Enlace: http://www.fi.uba.ar/laboratorios/lsi/R-ITBA-26-rrnn-ags.pdf
Foro
Enlace: http/www.estrucplan.com
Monografías.
Enlace:
http://www.monografias.com/trabajos12/redneur/redneur.shtml#ESRUCT
Perceptrón simple.
Enlace:http://www.redes-neuronales.netfirms.com/tutorial-redes-
neuronales/el-perceptron-simple.htm
Red neuronal artificial.
Enlace:http://eva.comenius.usach.cl/recursosenlaces/iartificial/SRPAN_hen
riquez_donoso_flores/IA/rna.htm
Redes Neuronales.
Enlace: http://es.wikipedia.org/wiki/Redes_neuronales_artificiales
Redes de computadoras.
Enlace: http://es.wikipedia.org/wiki/Red_de_computadoras
Snort.
Enlace: http://www.maestrosdelweb.com/editorial/snort/
Trabajos.
Enlace:http://www.cujae.edu.cu/eventos/cittel/trabajos/Trabajos/Comisio
n%201/CITTEL-12.pdf
Universidad Nacional de Colombia: Redes Neuronales Artificiales [Ref.
Mayo 28 de 2008]
Enlace:http://www.virtual.unal.edu.co/cursos/ingenieria/2001832/leccione
s/cap_4/intro_rna.htm
WIKIPEDIA.COM. La enciclopedia libre. 2007.
Enlace: http://es.wikipedia.org/wiki
Wikipedia: La Enciclopedia Libre. Red neuronal artificial [en línea]. [ref. de
7 de Mayo de 2008].
Enlace: http://es.wikipedia.org/wiki/Red_neuronal_artificial
WIKIPEDIA.COM. La enciclopedia libre. 2007.
Enlace: http://es.wikipedia.org/wiki/algoritmo