28
“IM PLE MEN TAC IÓN DE UN ANT IBO TNE T BAS ADO EN RED ES NEU RON ALE S PAR A PRO TEG ER ÁTI CAS EMP RES ARI ALE S ” 2 de diciembre de 2009 PROYECTO DE INVESTIGACION PROYECTO DE INVESTIGACION | EAPISI | 2009-I | EAPISI | 2009-I UNS | Informe Final Practica Sistemas de Información UNS “IMPLEMENTACIÓN DE UN ANTIBOTNET BASADO EN REDES NEURONALES PARA PROTEGER LAS REDES INFORMÁTICAS EMPRESARIALES “Año de la Unión Nacional Frente a la Crisis Externa”

Proyecto Final Botnets

Embed Size (px)

Citation preview

Page 1: Proyecto Final Botnets

“Implementación de

un antibotnet basa

do en redes neur

onales

para prote

ger las

redes infor

máticas

empresari

ales ”

2 de diciembre de 2009

| EAPISI | 2009-I | EAPISI | 2009-I

|

UNS “Implementación de un antibotnet basado en redes neuronales para proteger las redes informáticas empresariales ”

Cordova Saldaña Luis Enrique

Prado Rojas Armando Noe

Rodas Ulloa Freddy Ronald

Sarmiento Siancas Eduardo José

“Año de la Unión Nacional Frente a la Crisis Externa”

Page 2: Proyecto Final Botnets

“Implementación de un antibotnet basado en redes neuronales para proteger las redes informáticas empresariales ”

I. IntroducciónSe estima que uno de cada cuatro ordenadores con conexión a Internet se encuentra infectado, sin saberlo su dueño, por un código malicioso. Estos equipos son utilizados por los delincuentes informáticos para crear redes de aparatos "zombis" (a su servicio y manejados de forma remota) con los que cometer todo tipo de estafas (genera Spam y comente otros tipos de delitos y fraudes). A estas redes se las conoce como botnets (redes de robots) y cuentan con la ventaja de que aprovechan todo el potencial de computación de los ordenadores infectados y dificultan la localización del delincuente.

Últimamente se oye hablar mucho acerca de las botnets y los peligros que suponen tanto a usuarios como a empresas. Una botnet generalmente y para quien no lo sepa no deja de ser un gusano que recibe órdenes para enviar peticiones de conexión a un servidor o web. El peligro real que supone uno solo es nulo pero cuando el gusano se ha propagado a centenares o incluso miles de ordenadores se convierte en un serio problema.

Su funcionamiento es simple, cada bot se propaga por todos los ordenadores que puede y el conjunto de todos ellos forman una botnet que reciben órdenes para atacar conjuntamente un servidor. Las órdenes pueden ser recibidas desde multitud de medios, incluso medios curiosos como lo puede ser una cuenta de twenty. Una vez reciben la orden, actúan como un gran ejercito en conjunto enviando y saturando los servidores a atacar.

Para las empresas las botnets representan una gran amenaza en cuanto a pérdidas económicas, por ejemplo empresas que la mayoría de sus servicios se prestan o publicitan por internet. Por otra parte también podría ser que el propietario de la botnet contactara con la empresa y pidiera una cantidad económica para dejar de atacar.

No sólo las empresas reciben este tipo de ataques, posiblemente cualquier que tenga una web o servidor podría recibir un ataque de estos, dependiendo de las intenciones del atacante ya sea por ejemplo ideas políticas.

Por otro lado, montarse una botnet parece un negocio asegurado, hay muchísimas que están buscadas por la gran cantidad de ordenadores infectados que tienen, muchos de los creadores a veces venden las botnets pudiendo ganar centenares o miles de dólares o euros.

Una de nuestras propuestas como grupo de encargado de brindar Seguridad Informática es desarrollar un Antibotnet el cual no es más que un botnet inteligente el cual apoyado en la Inteligencia Artificial, específicamente en la rama de Redes Neuronales, se tratara de controlar y eliminar el ataque de estos gusanos que como hemos visto es muy perjudicial para la sociedad.

II. Descripción del Problema

|Proyecto de Investigación

Page 3: Proyecto Final Botnets

“Implementación de un antibotnet basado en redes neuronales para proteger las redes informáticas empresariales ”

Hace algún tiempo, el único mecanismo capaz de comprometer la seguridad de nuestros datos era insertar un disco contaminado en nuestro PC. En esa época, para mantener a salvo, prácticamente bastaba con evitar “prácticas de riesgo” y disponer de un buen antivirus.Más tarde, el desarrollo de las redes internas y externas, así como la llegada de Internet, abrieron nuevas posibilidades de ataques, y nos llevaron a la era de la seguridad de red. En la actualidad, el uso masivo de las aplicaciones y servicios web entraña nuevos riesgos, con lo que la seguridad informática ha alcanzado su tercera etapa: “La era de la seguridad de las aplicaciones”.Como resultado de esta evolución, los virus actuales suponen una terrible amenaza que no puede ser ignorada por ningún tipo de usuario y que crece exponencialmente.

Pese a que muchos de los virus actuales combinan características de varios tipos diferentes para conseguir ser más “letales”, en general podemos distinguir los siguientes tipos: Virus de Fichero, Gusanos, Bulos o Falsos Virus (Hoaxes), Vulnerabilidades o agujeros de seguridad (exploits), Troyanos (Trojans), Puertas traseras o Troyanos de Administración remota (backdoors), Redes de robots o “botnets”, Software espía (Spyware), Publicidad no deseada (Adware), Secuestradores de navegador y de DNS, Marcadores telefónicos (dialers).

Un gran número de equipos infectados con un determinado troyano de control remoto, constituyen una auténtica red de ordenadores esclavizados, denominadas “botnets” en inglés.

Dado el enorme “poder de fuego” de estas redes, a menudo son utilizadas como plataforma para el envío de correo basura o para ataques de denegación de servicio contra servidores web o de otros tipos.

Esto se ha convertido en un negocio lucrativo, ya que algunos hackers llegan incluso a alquilar estas redes a los spammers, por supuesto sin el consentimiento de los propietarios de los ordenadores.

III. Marco TeóricoPara obtener un mejor panorama del problema veremos en forma más detallada los conceptos de botnets, redes neuronales.

|Proyecto de Investigación

Page 4: Proyecto Final Botnets

“Implementación de un antibotnet basado en redes neuronales para proteger las redes informáticas empresariales ”

III.1. BOTNES EL PROBLEMA Y SUS BENEFICIOS

Botnet es un término que hace referencia a un conjunto de robots informáticos o bots, que se ejecutan de manera autónoma y automática. El artífice de la botnet puede controlar todos los ordenadores/servidores infectados de forma remota y normalmente lo hace a través del IRC; las nuevas versiones de estas botnets se están enfocando hacia entornos de control mediante HTTP con lo que el control de estas maquinas será muchos más simple. Sus fines normalmente son poco éticos.

III.1.1. ¿Cómo se forma una Botnet?

En los sistemas Windows la forma más habitual de expansión de los "robots" suele ser en el uso de cracks u otro software relacionado con la piratería. Este tipo software suele contener malware el cual, una vez el programa se ejecuta, puede escanear su red de área local, disco duro, puede intentar propagarse usando vulnerabilidades conocidas de Windows, etc.

En otros entornos como UNIX, GNU/Linux o BSD la forma más clásica de ataque a servidores para construir y expandir una Botnet es por telnet o SSH por medio del sistema prueba-error: probando usuarios comunes y contraseñas al azar contra todas las IPs que se pueda de forma sistemática o bien mediante ataques a bugs muy conocidos dado que los administradores descuidados dejan sin parchear.

III.1.2. Uso habitual de las botnets

Para enviar Spam a direcciones de correo electrónico, para la descarga de ficheros (normalmente de contenido ilegal) que ocupan gran espacio y consumen gran ancho de banda, para realizar ataques de tipo DDoS (Distributed Denial Of Service). Normalmente los creadores de estas Botnets venden sus servicios a los Spammers.

|Proyecto de Investigación

Page 5: Proyecto Final Botnets

“Implementación de un antibotnet basado en redes neuronales para proteger las redes informáticas empresariales ”

III.1.3. ¿Cómo se crea una botnet?

El primer camino para la creación de una botnet lo constituyen sin duda las vulnerabilidades del software. Es cierto que la mayoría de los sistemas empresariales están administrados por profesionales y al menos en teoría deberían estar bien parcheados y protegidos sin embargo estos no son los objetivos de las botnets.

El objetivo principal de una botnet en su génesis son los millones de ordenadores domésticos, los cuales están conectados a la red sin reunir los requisitos mínimos de seguridad, sistemas operativos sin los parches adecuados, antivirus y firewalls desfasados o ausencia total de este tipo de protecciones.El segundo método, basado en el mismo principio, es la ingeniería social.

De nuevo los usuarios con menos conocimientos en seguridad informática son los que ponen el peligro el sistema; la cadena se vuelve a romper por el eslabón más débil, el usuario doméstico, el cual por desconocimiento descarga contenidos de páginas web de origen dudoso y abre todo tipo de correos que llegan a su cuenta, facilitando así la entrada a su ordenador de todo tipo de código malicioso, que lo convertirá en un nuevo miembro de la botnet, pudiendo ser y siendo utilizado para la infección de otras máquinas.

Un aspecto importante sobre la creación de botnets es su automatización. No debemos pensar en ningún hacker aislado en su domicilio infectando una máquina tras otra hasta conseguir el número mágico. Como hemos visto son las máquinas más desprotegidas las preferidas por los creadores de botnets, los «script writers», centran su atención en vulnerabilidades que no por conocidas dejan de ser útiles para su propósito, ya que esta característica les permite la creación de un código que de forma automática y autónoma explore la red en busca de sus objetivos y los infecte una vez localizados.

III.1.4. Proceso de ataque de los Botnets

|Proyecto de Investigación

Page 6: Proyecto Final Botnets

“Implementación de un antibotnet basado en redes neuronales para proteger las redes informáticas empresariales ”

Usando una Botnet para enviar Spam.

1. El operador de la botnet manda virus, gusanos, etc; a los usuarios.2. Los PC entran en el IRC o se usa otro medio de comunicación.3. El Spammer le compra acceso al operador de la Botnet.4. El Spammer manda instrucciones vía un servidor de IRC u otro canal a los PC infectados.5. Causando que éstos envíen Spam al los servidores de correo.

III.2. Redes Neuronales

III.2.1. ¿Qué son las redes neuronales?

El cerebro es uno de las cumbres de la evolución biológica, ya que es un gran procesador de información. Entre sus características podemos destacar, que es capaz de procesar a gran velocidad grandes cantidades de información procedentes de los sentidos, combinarla o compararla con la información almacenada y dar respuestas adecuadas. Además es de destacar su capacidad para aprender a representar la información necesaria para desarrollar tales habilidades, sin instrucciones explícitas para ello.

Los científicos llevan años estudiándolo y se han desarrollado algunos modelos matemáticos que tratan de simular su comportamiento. Estos modelos se han basado sobre los estudios de las características esenciales de las neuronas y sus conexiones.Aunque estos modelos no son más que aproximaciones muy lejanas de las neuronas biológicas, son muy interesantes por su capacidad de aprender y asociar patrones parecidos lo que nos permite afrontar problemas de difícil solución con la programación tradicional. Se han implementado en computadoras y equipos especializados para ser simulados.

Con el paso de los años, los modelos de neuronas iniciales se han ido complicando, introduciendo nuevos conceptos llegando a ser un paradigma de computación (equivalente a las máquinas de Turing) basado en el comportamiento de las neuronas.

III.2.2. Red Neuronal Artificial

|Proyecto de Investigación

Page 7: Proyecto Final Botnets

“Implementación de un antibotnet basado en redes neuronales para proteger las redes informáticas empresariales ”

Las redes de neuronas artificiales (denominadas habitualmente como RNA o en inglés como: "ANN") son un paradigma de aprendizaje y procesamiento automático inspirado en la forma en que funciona el sistema nervioso de los animales. Se trata de un sistema de interconexión de neuronas en una red que colabora para producir un estímulo de salida. En inteligencia artificial es frecuente referirse a ellas como redes de neuronas o redes neuronales.

III.2.3. Funcionamiento

Las redes neuronales consisten en una simulación de las propiedades observadas en los sistemas neuronales biológicos a través de modelos matemáticos recreados mediante mecanismos artificiales (como un circuito integrado, un ordenador o un conjunto de válvulas). El objetivo es 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 funciones:

1. Una función de propagación (también conocida como función de excitación), que por lo general consiste en el sumatorio 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.

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

3. 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 y generalmente viene dada por la interpretación que queramos darle a dichas salidas. Algunas de las más utilizadas son la función sigmoidea (para obtener valores en el intervalo [0,1]) y la tangente hiperbólica (para obtener valores en el intervalo [-1,1]).

III.2.3.1.Estructura

|Proyecto de Investigación

Page 8: Proyecto Final Botnets

“Implementación de un antibotnet basado en redes neuronales para proteger las redes informáticas empresariales ”

La mayoría de los científicos coinciden en que una RNA es muy diferente en términos de estructura de un cerebro animal. Al igual que el cerebro, una RNA se compone de un conjunto masivamente paralelo de unidades de proceso muy simples y es en las conexiones entre estas unidades donde reside la inteligencia de la red. Sin embargo, en términos de escala, un cerebro es muchísimo mayor que cualquier RNA creada hasta la actualidad, y las neuronas artificiales también son más simples que su contrapartida animal.

Biológicamente, un cerebro aprende mediante la reorganización de las conexiones sinápticas entre las neuronas que lo componen. De la misma manera, las RNA tienen un gran número de procesadores virtuales interconectados que de forma simplificada simulan la funcionalidad de las neuronas biológicas. En esta simulación, 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.

Por otra parte, en una 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. Algunos ejemplos de entradas son la función escalón de Heaviside, la lineal o mixta, la sigmoide y la función gaussiana, recordando que la función de transferencia es la relación entre la señal de salida y la entrada.

III.2.4. Ventajas

Las redes neuronales artificiales (RNA) tienen muchas ventajas debido a que están basadas en la estructura del sistema nervioso, principalmente el cerebro.

Aprendizaje: Las RNA tienen la habilidad de aprender mediante una etapa que se llama etapa de aprendizaje. Esta consiste en proporcionar a la RNA datos como entrada a su vez que se le indica cuál es la salida (respuesta) esperada.

Auto organización: Una RNA crea su propia representación de la información en su interior, descargando al usuario de esto.

Tolerancia a fallos: Debido a que una RNA almacena la información de forma redundante, ésta puede seguir respondiendo de manera aceptable aun si se daña parcialmente.

Flexibilidad: Una RNA puede manejar cambios no importantes en la información de entrada, como señales con ruido u otros cambios en la entrada (ej. si la información de entrada es la imagen de un objeto, la respuesta correspondiente no sufre cambios si la imagen cambia un poco su brillo o el objeto cambia ligeramente)

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.

III.2.5. Tipología de la RNA

III.2.5.1.Modelos

Existe una serie de modelos que aparecen en la mayoría de estudios académicos y la bibliografía especializada.

|Proyecto de Investigación

Page 9: Proyecto Final Botnets

“Implementación de un antibotnet basado en redes neuronales para proteger las redes informáticas empresariales ”

Perceptrón Adaline Perceptrón multicapa Memorias asociativas Máquina de Bolzman Máquina de Cauchy Propagación hacia atrás (backpropagation) Redes de Elman Redes de Hopfield Red de contrapropagación Redes de neuronas de base radial Redes de neuronas de aprendizaje competitivo Mapas Autoorganizados (RNA) (Redes de Kohonen) Crecimiento dinámico de células Gas Neuronal Creciente Redes ART (Adaptative Resonance Theory)

III.2.5.2.Topologia

Una primera clasificación de las redes de neuronas artificiales que se suele hacer es en función del patrón de conexiones que presenta. Así se definen tres tipos básicos de redes:

Dos tipos de redes de propagación hacia delante o ací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 capa.

o Monocapa. Ejemplos: perceptrón, Adaline.o Multicapa. Ejemplos: perceptrón multicapa.

Las redes recurrentes que presentan al menos un ciclo cerrado de activación neuronal. Ejemplos: Elman, Hopfield, máquina de Bolzman.

III.2.5.3.Aprendizaje

Una segunda clasificación que se suele hacer es en función del tipo de aprendizaje de que es capaz (si necesita o no un conjunto de entrenamiento supervisado). Para cada tipo de aprendizaje encontramos varios modelos propuestos por diferentes autores:

Aprendizaje supervisado: necesitan un conjunto de datos de entrada previamente clasificado o cuya respuesta objetivo se conoce. Ejemplos de este tipo de redes son: el perceptrón simple, la red Adaline, el perceptrón multicapa y la memoria asociativa bidireccional.

Aprendizaje no supervisado o auto organizado: no necesitan de tal conjunto previo. Ejemplos de este tipo de redes son: las memorias asociativas, las redes de Hopfield, la máquina de Bolzman y la máquina de Cauchy, las redes de aprendizaje competitivo, las redes de Kohonen o mapas auto organizados y las redes de resonancia adaptativa (ART)

Redes híbridas: son un enfoque mixto en el que se utiliza una función de mejora para facilitar la convergencia. Un ejemplo de este último tipo son las redes de base radial.

Aprendizaje reforzado: se sitúa a medio camino entre el supervisado y el auto organizado.

III.2.5.4.Tipo de Entrada

|Proyecto de Investigación

Page 10: Proyecto Final Botnets

“Implementación de un antibotnet basado en redes neuronales para proteger las redes informáticas empresariales ”

Finalmente también se pueden clasificar las RNAs según sean capaces de procesar información de distinto tipo en:

Redes analógicas: procesan datos de entrada con valores continuos y, habitualmente, acotados. Ejemplos de este tipo de redes son: Hopfield, Kohonen y las redes de aprendizaje competitivo.

Redes discretas: procesan datos de entrada de naturaleza discreta; habitualmente valores lógicos booleanos. Ejemplos de este segundo tipo de redes son: las máquinas de Bolzman y Cauchy, y la red discreta de Hopfield.

III.2.6. Aplicaciones

Las características de las RNA las hacen bastante apropiadas para aplicaciones en las que no se dispone a priori de un modelo identificable que pueda ser programado, pero se dispone de un conjunto básico de ejemplos de entrada (previamente clasificados o no). Asimismo, son altamente robustas tanto al ruido como a la disfunción de elementos concretos y son fácilmente paralelizables.

Esto incluye problemas de clasificación y reconocimiento de patrones de voz, imágenes, señales, etc. Asimismo se han utilizado para encontrar patrones de fraude económico, hacer predicciones en el mercado financiero, hacer predicciones de tiempo atmosférico, etc.

También se pueden utilizar cuando no existen modelos matemáticos precisos o algoritmos con complejidad razonable; por ejemplo la red de Kohonen ha sido aplicada con un éxito más que razonable al clásico problema del viajante (un problema para el que no se conoce solución algorítmica de complejidad polinómica).

Otro tipo especial de redes neuronales artificiales se ha aplicado en conjunción con los algoritmos genéticos (AG) para crear controladores para robots. La disciplina que trata la evolución de redes neuronales mediante algoritmos genéticos se denomina Robótica Evolutiva. En este tipo de aplicación el genoma del AG lo constituyen los parámetros de la red (topología, algoritmo de aprendizaje, funciones de activación, etc.) y la adecuación de la red viene dada por la adecuación del comportamiento exhibido por el robot controlado (normalmente una simulación de dicho comportamiento).

III.3. Redes InformáticasIII.3.1. ¿Que es una red informática?

Una red es un sistema donde los elementos que lo componen (por lo general ordenadores) son autónomos y están conectados entre sí por medios físicos y/o lógicos y que pueden comunicarse para compartir recursos. Independientemente a esto, definir el concepto de red implica diferenciar entre el concepto de red física y red de comunicación.

Respecto a la estructura física, los modos de conexión física, los flujos de datos, etc; una red la constituyen dos o más ordenadores que comparten determinados recursos, sea hardware (impresoras, sistemas de almacenamiento...) o sea software (aplicaciones, archivos, datos...). Desde una perspectiva más comunicativa, podemos decir que existe una red cuando se encuentran involucrados un componente humano que comunica, un componente tecnológico (ordenadores, televisión, telecomunicaciones) y un componente administrativo (institución o instituciones que mantienen los servicios). En fin, una red, más que varios ordenadores conectados, la constituyen varias personas que solicitan, proporcionan e intercambian experiencias e informaciones a través de sistemas de comunicación.

|Proyecto de Investigación

Page 11: Proyecto Final Botnets

“Implementación de un antibotnet basado en redes neuronales para proteger las redes informáticas empresariales ”

III.3.2. Estructura

Las redes tienen tres niveles de componentes: software de aplicaciones, software de red y hardware de red.

El Software de Aplicaciones, programas que se comunican con los usuarios de la red y permiten compartir información (como archivos, gráficos o vídeos) y recursos (como impresoras o unidades de disco).

El software de Red, programas que establecen protocolos para que los ordenadores se comuniquen entre sí. Dichos protocolos se aplican enviando y recibiendo grupos de datos formateados denominados paquetes.

El Hardware de Red, formado por los componentes materiales que unen los ordenadores. Dos componentes importantes son los medios de transmisión que transportan las señales de los ordenadores (típicamente cables o fibras ópticas) y el adaptador de red, que permite acceder al medio material que conecta a los ordenadores, recibir paquetes desde el software de red y transmitir instrucciones y peticiones a otros ordenadores.

En resumen, las redes están formadas por conexiones entre grupos de ordenadores y dispositivos asociados que permiten a los usuarios la transferencia electrónica de información. En estas estructuras, los diferentes ordenadores se denominan estaciones de trabajo y se comunican entre sí a través de un cable o línea telefónica conectada a los servidores.

Dichos servidores son ordenadores como las estaciones de trabajo pero con funciones administrativas y están dedicados en exclusiva a supervisar y controlar el acceso a la red y a los recursos compartidos.

Además de los ordenadores, los cables o la línea telefónica, existe en la red el módem para permitir la transferencia de información convirtiendo las señales digitales a analógicas y viceversa, también existen en esta estructura los llamados Hubs y Switches con la función de llevar a cabo la conectividad.

III.3.3. Tipos de Redes

Las redes según sea la utilización por parte de los usuarios pueden ser:

Redes Compartidas, aquellas a las que se une un gran número de usuarios, compartiendo todas las necesidades de transmisión e incluso con transmisiones de otra naturaleza.

Redes exclusivas, aquellas que por motivo de seguridad, velocidad o ausencia de otro tipo de red, conectan dos o más puntos de forma exclusiva. Este tipo de red puede estructurarse en redes punto a punto o redes multipunto.

Otro tipo se analiza en cuanto a la propiedad a la que pertenezcan dichas estructuras, en este caso se clasifican en:

Redes privadas, aquellas que son gestionadas por personas particulares, empresa u organizaciones de índole privado, en este tipo de red solo tienen acceso los terminales de los propietarios.

Redes públicas, aquellas que pertenecen a organismos estatales y se encuentran abiertas a cualquier usuario que lo solicite mediante el correspondiente contrato.

|Proyecto de Investigación

Page 12: Proyecto Final Botnets

“Implementación de un antibotnet basado en redes neuronales para proteger las redes informáticas empresariales ”

Otra clasificación, la más conocida, es según la cobertura del servicio en este caso pueden ser:

Redes LAN (Local Area Network), redes MAN (Metropolitan Area Network), redes WAN (Wide Area Network), redes internet y las redes inalámbricas. (Para más información sobre esta clasificación, puede consultar la bibliografía del trabajo).

III.3.4. Topología de Redes

Cuando se menciona la topología de redes, se hace referencia a la forma geométrica en que están distribuidos las estaciones de trabajo y los cables que las conectan. Su objetivo es buscar la forma más económica y eficaz de conexión para, al mismo tiempo, aumentar la fiabilidad del sistema, evitar los tiempos de espera en la transmisión, permitir un mejor control de la red y lograr de forma eficiente el aumento del número de las estaciones de trabajo.

Dentro de las topologías que existen, las más comunes son:

|Proyecto de Investigación

Page 13: Proyecto Final Botnets

“Implementación de un antibotnet basado en redes neuronales para proteger las redes informáticas empresariales ”

Aunque no son las más comunes también existen otras topologías generadas por las combinaciones entre las ya mencionadas anteriormente como es el caso de:

III.3.5. Protocolo de Redes

Los protocolo de red son una o más normas estándar que especifican el método para enviar y recibir datos entre varios ordenadores. Su instalación está en correspondencia con el tipo de red y el sistema operativo que la computadora tenga instalado.

No existe un único protocolo de red, y es posible que en un mismo ordenador coexistan instalados varios de ellos, pues cabe la posibilidad que un mismo ordenador pertenezca a redes distintas. La variedad de protocolos puede suponer un riesgo de seguridad: cada protocolo de red que se instala en un sistema queda disponible para todos los adaptadores de red existentes en dicho sistema, físicos (tarjetas de red o módem) o lógicos (adaptadores VPN). Si los dispositivos de red o protocolos no están correctamente configurados, se puede dar acceso no deseado a los recursos de la red. En estos casos, la regla de seguridad más sencilla es tener instalados el número de protocolos indispensable; en la actualidad y en la mayoría de los casos debería bastar con sólo TCP/IP.

Dentro de la familia de protocolos se pueden distinguir

Protocolos de transporte:

ATP (Apple Talk Transaction Protocol) NetBios/NetBEUI TCP (Transmission Control Protocol)

Protocolos de red:

DDP (Delivery Datagram Protocol) IP (Internet Protocol) IPX (Internet Packed Exchange) NetBEUI Desarrollado por IBM y Microsoft.

|Proyecto de Investigación

Page 14: Proyecto Final Botnets

“Implementación de un antibotnet basado en redes neuronales para proteger las redes informáticas empresariales ”

Protocolos de aplicación:

AFP (Appletalk File Protocol) FTP (File Transfer Protocol) Http (Hyper Text transfer Protocol)

Dentro de los protocolos antes mencionados, los más utilizados son:

IPX/SPX, protocolos desarrollados por Novell a principios de los años 80 los cuales sirven de interfaz entre el sistema operativo de red Netware y las distintas arquitecturas de red. El protocolo IPX es similar a IP, SPX es similar a TCP por lo tanto juntos proporcionan servicios de conexión similares a TCP/IP.

NETBEUI/NETBIOS (Network Basic Extended User Interface / Network Basic Input/Output System) NETBIOS es un protocolo de comunicación entre ordenadores que comprende tres servicios (servicio de nombres, servicio de paquetes y servicio de sesión, inicialmente trabajaba sobre el protocolo NETBEUI, responsable del transporte de datos. Actualmente con la difusión de Internet, los sistemas operativos de Microsoft más recientes permiten ejecutar NETBIOS sobre el protocolo TCP/IP, prescindiendo entonces de NETBEUI.

APPLE TALK es un protocolo propietario que se utiliza para conectar computadoras Macintosh de Apple en redes locales.

TCP/IP (Transmission Control Protocol/Internet Protocol) este protocolo fue diseñado a finales de los años 60, permite enlazar computadoras con diferentes sistemas operativos. Es el protocolo que utiliza la red de redes Internet.

IV. DesarrolloA continuación se detallara la fase de desarrollo del antibotnet el cual estará basado en redes neuronales pues tiene como necesidad aprender sobre los botnets para poder contrarrestarlos.

A) Fase de Análisis

Requerimientos Funcionales

1. El antibonet permitirá realizar una inspección de las maquinas afectadas con el botnet analizando, estudiando y aprendiendo (en este proceso viene a recalar las redes neuronales) del botnet.

2. El antibotnet permitirá construir los anticuerpos necesarios para eliminar los botnets.

3. El antibotnet permitirá proteger las maquinas aun no infectadas del servidor cerrando el paso de las posibles amenazas que provengan de la misma fuente estudiada (gracias al estudio realizado por el software con el que cuentan los antibotnets basado en redes neuronales).

Requerimientos No Funcionales

1. El antibotnet se mantendrá residente las 24 horas del día.

|Proyecto de Investigación

Page 15: Proyecto Final Botnets

“Implementación de un antibotnet basado en redes neuronales para proteger las redes informáticas empresariales ”

2. El tiempo de análisis de una maquina infectada no debe exceder más de 1 min.

B) Fase de Diseño

1. Diseño de Software

- Se hará uso de la herramienta de programación Visual C++ 6.0, el Service Pack 6 para el Visual C++ 6.0 y finalmente el PSDK-x86, software basado en redes neuronales.

A continuación se presentan los pasos a seguir, para su implantación:

Ahora vamos a configurar el Visual C++ 6.0

En la parte de Options, nos vamos a la pestaña Directories y hacemos clic donde indica la flechita.

|Proyecto de Investigación

Page 16: Proyecto Final Botnets

“Implementación de un antibotnet basado en redes neuronales para proteger las redes informáticas empresariales ”

Luego miramos en la parte de Show directories for: Incluye Files (Y para qué?. Pues ahi no solo dice Include Files sino también Library Files, Source Files y debemos configurar para esos 3 directorios el PDSK) y al abrirse la nueva ventana le damos clic en los… para buscar la carpeta INCLUDE que instalo PSDK-x86. En mi caso se encuentra en C:\Archivos de programa\Microsoft Platform SDK\Include y pulsamos OK.

Ahora debemos colocar el C:\Archivos de programa\Microsoft Platform SDK\Include, en la primera línea usando las flechitas y debe quedarnos así:

|Proyecto de Investigación

Page 17: Proyecto Final Botnets

“Implementación de un antibotnet basado en redes neuronales para proteger las redes informáticas empresariales ”

Hasta ahí solo hemos configurado la parte de Include files, se necesita hacer lo mismo para Library files y luego para Source files.

Se procederá agregar el código necesario para la elaboración del antibotnet.

|Proyecto de Investigación

Page 18: Proyecto Final Botnets

“Implementación de un antibotnet basado en redes neuronales para proteger las redes informáticas empresariales ”

2. Diseño de Hardware

Se necesitara un servidor robusto q cuente con las siguientes características mínimas:

Procesador Phenom II x4 955Placa Madre ASUS M4A78T-E4GB de ramDisco Duro de 500gbUnidad de DVDTarjeta de RedMonitorTeclado MultimediaMouse

V. ConclusionesSe ha podido apreciar que las organizaciones criminales pueden controlar miles de máquinas en la red y utilizarlas para la extorsión, obtención de información o la estafa a través de las botnets, pero no olvidemos que las botnets sólo son una de las formas que pueden ser utilizadas por los delincuentes para aprovechar las nuevas tecnologías, las cuales proporcionan nuevas herramientas para cometer delitos que no son tan nuevos, a la vez que permiten el surgimiento de nuevos tipos delictivos.Hoy en día el perfil del individuo que comete delitos en la red ha cambiado: el apasionado de la informática que de una forma un tanto oportunista aprovechaba sus conocimientos para obtener algún beneficio se ha convertido en un miembro de pleno derecho del crimen organizado, aprovechando sus estructuras y capacidad para blanquear los beneficios obtenidos. Internet es quizá el proyecto tecnológico más apasionante en el que se ha involucrado el ser humano. La red ofrece posibilidades antes impensables para todos nosotros, por ello su defensa no sólo debe ser una tarea encomendada a las Fuerzas y Cuerpo de Seguridad sino que todos deben involucrarse activamente, desde las empresas a los simples usuarios, tomando conciencia del objetivo común de poder disfrutar de la red de una forma libre y segura.

|Proyecto de Investigación

Page 19: Proyecto Final Botnets

“Implementación de un antibotnet basado en redes neuronales para proteger las redes informáticas empresariales ”

|Proyecto de Investigación