• No se han encontrado resultados

CAPÍTULO 3. RESULTADOS Y DISCUSIÓN ¡Error! Marcador no definido.

3.4 Conclusiones del capítulo

En este capítulo se mostraron los resultados de los escaneos realizados los cuales fueron detectados exitosamente por el Snort. Además se presentaron algunos resultados obtenidos durante un período de tiempo en el cual estuvo activado el IDS en donde se observaron los IP que con más frecuencias fueron detectados. También se mostraron los resultados arrojados por el Pmgraph en donde se pudo ver de forma gráfica las alerta por segundo y el promedio de los paquetes medidos en bytes.

CONCLUSIONES Y RECOMENDACIONES

Conclusiones

En este proyecto, se ha pretendido mostrar la importancia y las posibilidades que pueden tener los Sistemas de Detección de Intrusos en materia de seguridad de una red.

Con el desarrollo de esta investigación se ha llegado a las conclusiones siguientes:

 Snort presenta una instalación cómoda y un funcionamiento adecuado para los propósitos de detección de actividad maliciosa como IDS, así como una interfaz amigable.

 Permite integrase con otras herramientas, como por ejemplo Pmgraph, para mejorar su rendimiento, y BASE, para facilitar el análisis de los resultados.

A través de las pruebas realizadas se pudo ver la capacidad de detección del sistema, mediante el análisis de las alertas producidas y las direcciones de los equipos que intervinieron en dichas alertas. Además se pudo evaluar el rendimiento del sistema durante un período de tiempo.

 Es posible ocultar ataques al IDS enviando el tráfico de forma especial. Este problema no aparece solo en Snort, sino que está presente en muchos de los IDS comerciales y es tema de investigación en la actualidad.

Recomendaciones

 Las vías futuras para la continuación de este proyecto se enmarcan en el ámbito de los IDS basados en la Inteligencia Artificial (IA) que permitan detectar vulnerabilidades y ataques que no eran conocidos previamente.

 Minimizar la cantidad de falsos positivos que hacen que en muchas ocasiones se generen numerosas cantidades de alertas que no suponen ataques verdaderos. Para ello sería necesario una gestión más eficaz de estas alarmas, por lo que es fundamental llevar a cabo un estudio más profundo en la configuración de los preprocesadores y mejorar el motor de detección que permita un mejor análisis del tráfico.

 Integrarle al Snort otras herramientas como el Oinkmaster, SnortSMS y SnortSnarf.

 Implementar el sistema de prevención de intrusos con el Snort o Snort_Inline, el cual ofrece muchas posibilidades de mejora en la seguridad, debido a que ofrecen una respuesta activa a los eventos de detección de intrusos. Esto permite tomar medidas ante los ataques como reconfigurar o alterar los mecanismos de accesos de control a las redes, sesiones o paquetes individuales basados en las reglas de sistemas de detección de intrusos.

REFERENCIAS BIBLIOGRÁFICAS

Anderson, J. P. (1972). Computer Security Technology Planning Study. Volume 2, Electronic Systems Division, Air Force Systems Command, Hanscom Filed.

Anonymous (2002). Maximum Security, SAMS.

Belmonte, I. (2002.). Configuración de un sistema de detección de intrusiones. Configuración de Snort con interface ACID. Disponible en: http://www.redes- linux.com/manuales/seguridad/snort_assl.pdf.[Consultado el 16 de abril del 2011]

Castell, S. F. (2004). Métodos de seguridad en una red: cortafuegos y detección de intrusos (IDS), Valencia, España.

Caswell, B., J. Beale, et al. (2003). Snort 2.0 Intrusion Detection, Syngress Media Inc. [En línea]. Disponible en: http://www.hotfile.com/dl/27844250/b24d57d/snort-2-0-intrusion- detection.9781931836746.23862.pdf.html. [Consultado el 20 de abril del 2011]

Center, N. C. S. (1988). A guide to understanding audit in trusted systems, Technical Report NCSC-TG-001, National Computer Security Center.

Chapman, D. B., E. D. Zwicky, et al. (1995). Building internet firewalls, O'Reilly & Associates, Inc.

Cheswick, W. R., S. M. Bellovin, et al. (2003). Firewalls and Internet security: repelling the wily hacker, Addison-Wesley Longman Publishing Co., Inc. Boston, MA, USA. [En línea]. Disponible en: http://www.dannyreviews.com/h/Firewalls_and_Internet_Security.html. [Consultado el 15 de marzo del 2011]

Cox, K. and C. Gerg (2004). Managing security with Snort and IDS tools, O'Reilly Media, Inc. [En línea]. Disponible en: http://www.pdfwindows.com/pdf/oreilly-managing-security- with-snort-and- ids-tools-1st. [Consultado el 17 de abril del 2011]

Denning, D. E. (1986). An Intrusion Detection Model. Proceedings of the 1986 IEEE Symposium on Security and Privacy, Oakland, CA.

Freed, N. (2000). RFC 2979: Behavior of and Requirements for Internet Firewalls, Network Working Group. [En línea]. Disponible en: http://www.ietf.org/rfc/rfc2979.txt [Consultado el 5 de marzo del 2011]

Gahonapag, A. E. O. (2008). Detección de intrusos. Seguridad: 36- 40. [En línea]. Disponible en: http://www.lpmagazine.org. [Consultado el 10 de marzo del 2011]

García, M. I. G. (2008). Utilización de Sistemas de Detección de Intrusos como elemento de seguridad perimetral, Universidad de Almería. [En línea]. Disponible en: http://www.adminso.es. [Consultado el 18 de marzo del 2011]

Gramajo, A. (2005). Introducción a conceptos de IDS y técnicas avanzadas con Snort. [En línea]. Disponible en: http://www. people.baicom.com/agramajo/notes/ids2005.pdf. [Consultado el 19 de abril del 2011]

Gregg, M. (2006). Hack the stack: using snort and ethereal to master the 8 layers of an insecure network, Syngress. [En línea]. Disponible en: http://www.ebookee.org/Hack-the- Stack-Using-Snort-and-Ethereal-to-Master-the-8-Layers-of-an-Insecure-

N_873.html.[Consultado el 18 de mayo del 2011]

Harper, P. (2004.). Snort Install Manual Snort, Apache, SSL, PHP, Mysql, Acid Install on Fedora Core 2. N. Oliver. [En línea]. Disponible en: http://www. www.internetsecurityguru.com/documents/Snort_SSL_FC2.pdf.[Consultado el 13 de abril del 2011]

Heberlein, T. (1995). Network Security Monitor (NSM) - Final Report. Davis, CA, Lawrence Livermore National Laboratory.

Kabiri, P. and A. A. Ghorbanifar (2005). Research on intrusion detection and response: A survey, Citeseer. 1: 84-102.

Kaufman, C., R. Perlman, et al. (2002). Network security, Prentice Hall PTR.

Kelley, C., J. Barnes, et al. (2002). OpenSource GPS Open Source Software for Learning about GPS, Citeseer: 2524–2533.

Krutz, E. C. y. R (2005). Network Security Bible, Wiley Publishing, Inc. [En línea].

Disponible en:

http://www.researchandmarkets.com/reports/1086287/network_security_bible_2nd_edition. pdf. [Consultado el 20 de marzo del 2011]

Lyon, G. F. (2009). Nmap Network Scanning: The Official Nmap Project Guide to Network Discovery and Security Scanning, Insecure. Disponible en: http://www. nmap.org/book/cover/nns-cover.pdf.[Consultado el 14 de mayo del 2011]

Marchette, D. J. (2001). Computer intrusion detection and network monitoring: a statistical viewpoint, Springer Verlag.

Merino, B. (2011). Análisis de tráfico con Wireshark, Instituto Nacional de Tecnologías de la Comunicación (INTECO).

Molina, M. and J. Joaquín (2008). Arquitectura dirigida por eventos para un sistema de detección de intrusiones basado en patrones. Universidad de Murcia.

Mukherjee, B., L. T. Heberlein, et al. (1994). Network intrusion detection, IEEE. 8: 26-41.

Ney, C. (2006.). Escaneando comprendiendo las técnicas de análisis con nmap. Linux Magazine. : 60-66.

Noel, S., D. Wijesekera, et al. (2002). Modern intrusion detection, data mining, and degrees of attack guilt, Citeseer: 2-25.

Orebaugh, A. and B. Pinkard (2008). Nmap in the enterprise: your guide to network scanning, Syngress. Disponible en: http://www.4shared.com/NmapintheEnterprise YourGuideto.html.[Consultado el 20 de mayo del 2011]

Rehman, R. U. (2003). Intrusion detection systems with Snort: advanced IDS techniques using Snort, Apache, Mysql, PHP, and ACID, Prentice Hall PTR. Disponible en: http:// www.warezrocker.net/121861-intrusion-detection-with-snort-advanced-ids-techniques-

using-snort-apache- mysql-php-and-acid.html.[Consultado el 22 de abril del 2011]

Riley, C. (2010). Detección de Intrusiones con Snort. Revista Linux 60 a 66. Disponible en: http://www.linux- magazine.es. [Consultado el 14 de abril del 2011]

Roesch, M., Ed. (2009). The Snort Project. Snort Users Manual 2.8.4. Disponible en: http://www.snort.org/assets/82/snort_manual.pdf.[Consultado el 5 de mayo del 2011]

Scott, C., P. Wolfe, et al. (2004). Snort for dummies, For Dummies.

Sobiery, M. (2007). "Michael Sobirey’s Intrusion Detection Systems page." Disponible en: http://www.isl.cse.sc.edu/mirrorSobireys.shtml.[Consultado el 26 de marzo del 2011]

Staff, H. (2005). "The Story of Snort: Past, Present and Future." Disponible en: http://www.net-security.org/article.php?id=860. [Consultado el 10 de abril del 2011]

Tulloch, M. (2003). Microsoft Encyclopedia of Security. United States of America, Library of Congress Cataloging in Publication Data

UCI (2008). Conferencias de Seguridad Informática., Departamento de Sistemas Digitales Vigo, J. A. E. (2005). Sistemas de detección de intrusiones. Disponible en: http://www. upcommons.upc.edu/pfc/bitstream/2099.1/3451/9/52096-9.pdf. [Consultado el 20 de marzo del 2011]

Zhou, Z., C. Zhongwen, et al. (2005). The study on network intrusion detection system of Snort, IEEE. 2: 194-196.

ANEXOS

Anexo I

Cabecera de la regla

La cabecera de la regla ha de contener información relativa al paquete en lo referente a: Acciones asociadas. Protocolos. Direcciones IP. Números de puerto. Dirección de la operación.

Acciones

Le indican al motor de detección que ha de hacer cuando encuentre un paquete que coincida con el criterio de la regla. Snort proporciona tres posibles acciones:

Alert. Genera una alerta utilizando el método de alerta seleccionado al invocar al programa desde la línea de comandos.

Log. Archiva el paquete.

Pass. Ignora el paquete.

Protocolos

El siguiente campo que nos vamos a encontrar en una regla es el protocolo. Hay tres protocolos IP que Snort analiza para detectar un comportamiento sospechoso. Estos tres protocolos son TCP, UDP e ICMP.

Direcciones IP

Por desgracia, Snort no proporciona ningún mecanismo para traducir de dirección IP a nombre de equipo.

Las direcciones están formadas por una dirección IP junto con su bloque CIDR.

Además el lenguaje de definición de reglas de Snort, nos provee del operador de negación. Este operador indica al programa que aplica determinada regla para todas las direcciones que no coincidan con el rango que se le especifica. El operador de negación es !.

Números de puertos

Al igual que se le especifica la dirección fuente así como la dirección destino, también es necesario indicar el puerto fuente y el puerto destino. Este número de puerto puede ser definido de distintas formas, incluyendo any, definición de puertos estáticos, rangos y utilizando el operador de negación. Los puertos estáticos están indicados por un puerto en concreto, es decir un único valor numérico, y por último los rangos de puertos se definen con el operador. Los rangos de puertos pueden ser utilizados de diversos modos teniendo significados diferentes:

Cualquier puerto fuente y un rango en los puertos destino: Log udp any any -> 155.54.12.0/24 1:1024

Cualquier puerto fuente, y un puerto destino menor o igual a un puerto: Log tcp any any ->155.54.12.0/24:6000

Puerto fuente mayor que un determinado número, y puerto destino menor que un determinado puerto:

Log tcp any: 1024 -> 155.54.12.0/24 500:

Dirección de la operación

Este operador -> indica la orientación o dirección del tráfico al que la regla se aplica. La dirección IP y puerto de ambos lados de este operador indican que la regla se aplicará a cualquier paquete que tenga como origen el par IP puerto de la parte izquierda de la regla y como destino el par IP puerto de la parte derecha de la regla. Además de este operador

unidireccional, también existe un operador bidireccional. Este operador bidireccional es <>. Este operador es útil para grabar o analizar ambas partes de la conversación. Un ejemplo en el que el operador bidireccional puede resultar útil, es para registrar todo el tráfico que se produzca por el protocolo TELNET desde fuera de la red que se pretende monitorizar. La regla para esto sería tal que:

Log tcp 155.54.12.0/24 any <> 155.54.12.0/24 23

Opciones de las reglas:

Estas opciones son la parte central el motor de detección que Snort proporciona.

Cada una de las opciones que Snort proporciona han de estar separadas por un ;, así como el identificador de la opción ha de estar separado de la opción en si por :

De esta forma, tenemos veinte opciones distintas que pueden ser aplicadas a una regla:

Msg. Imprime un mensaje tanto el fichero de alertas como en el logs.

Logto. Almacena el paquete en el fichero que el usuario le defina, en lugar del fichero estándar.

Ttl- Chequea el valor del campo TTL de la cabecera del paquete IP.

Id- Chequea el valor del campo ID de la cabecera del paquete IP para ver si coincide con un valor determinado.

Dsize- Chequea el tamaño del campo de datos contra el de la cabecera IP.

Content- Busca un determinado patrón dentro del campo del contenido.

Offset- Modifica la opción anterior, establece el desplazamiento dentro del campo de contenido del paquete IP a partir del cual ha de buscar el patrón.

Depth- Modifica la opción contenido, establece la profundidad máxima a la que busca, dentro de una conversación entre varios ordenadores.

Nocase- Establece la búsqueda de patrones para que no sea sensible a las mayúsculas.

Flags- Chequea el valor de los flags TCP para ver si corresponden con cierto valor.

Seq- Chequea el número de secuencia del paquete TCP para ver si coincide con determinado valor.

Ack- Chequea el campo ACK del paquete TCP para ver si coincide con determinado valor.

Itype- Chequea el valor de este campo dentro del paquete ICMP para ver si coincide con un determinado valor.

Icode- Chequea el valor de este campo dentro del paquete ICMP para ver si coincide con un determinado valor.

Sesión. Descarga la información del nivel de aplicación para una determinada sesión.

Icmp_id- Chequea el valor del campo ICMP ECHO ID para ver si coincide con un determinado valor.

Icmp_seq- Chequea el valor del número de secuencia de un paquete ICMP ECHO para ver si corresponde con un determinado valor.

Ip-option- Busca dentro del campo de opciones de paquete IP.

Rpc- Busca servicios RPC para una determinada llamada a una aplicación / procedimiento.

Resp- Activa respuesta (caída de conexiones, etc).

Anexo II Preprocesadores que presenta el Snort

Lista de preprocesadores utilizados, que incluye la versión 2.8.5 de Snort en el fichero snort.conf, con sus características su configuración predeterminada.

frag3

De basa en la fragmentación IP de los módulos de Snort. Frag3 reemplaza el módulo de fragmentación frag2 y fue diseñado con los objetivos siguientes:

1. Ejecución más rápida que frag2 con gestión de datos menos compleja. 2. Modelo de Host con técnicas de anti-evasión.

Preprocessor frag3_global: max_frags 65536

Preprocessor frag3_engine: policy first detect_anomalies

Stream5

Es un módulo de reensamblado TCP para Snort. Intenta suplantar a Stream4 y a Flow, y es capaz de rastrear sesiones tanto para TCP como para UDP. Con Stream5, la regla 'flow' y palabras clave 'flowbits' son utilizables tanto con TCP como con UDP.

Preprocessor stream5_global: max_tcp 8192, track_tcp yes, \

Track_udp no

Rpc_decode

Normaliza múltiples registros RPC fragmentados en un único registro. Esto normaliza el paquete en el buffer del paquete. Si permite stream4; esto sólo tratará el tráfico del lado cliente. Por defecto, se ejecuta sobre los puertos 111 y 32771.

preprocessor rpc_decode: 111 32771

Ftp_telnet

Es una mejora al decodificador Telnet y proporciona la capacidad de inspección tanto del FTP como de Telnet. FTP/Telnet descodifica el flujo de datos, identificando órdenes de FTP, respuestas y secuencias de escape de Telnet y normalizará los campos.

FTP/Telnet trabaja tanto con respuestas del cliente como del servidor.

preprocessor ftp_telnet: global \

Encrypted_traffic yes \

Inspection_type stateful

preprocessor ftp_telnet_protocol: telnet \

normalize \

ayt_attack_thresh 200

preprocessor ftp_telnet_protocol: ftp server default \

def_max_param_len 100 \

alt_max_param_len 200 {CWD} \

cmd_validity MODE < char ASBCZ > \

Cmd_validity MDTM < [date nnnnnnnnnnnnnn [.n [n[n]]] ] string > \

chk_str_fmt {USER PASS RNFR RNTO SITE MKD} \

telnet_cmds yes \

data_chan

max_resp_len 256 \

bounce yes \

telnet_cmds yes

Ssh

Detecta lo siguiente: Gobbles, CRC 32, Seguridad CRT, y el protocolo Mismatch exploit.

Preprocessor ssh: server_ports {22} \

max_client_bytes 19600 \

max_encrypted_packets 20

Dcerp

Detecta y descifra el tráfico SMB y DCE/RPC. Principalmente está interesado en datos DCE/RPC, y sólo descifra SMB para llegar a los datos DCE/RPC que transporta la capa SMB. preprocessor dcerpc:\ autodetect \ max_frag_size 3000 \ memcap 100000 DNS

Descifra respuestas DNS y puede detectar lo siguiente: DNS Desbordamientos Cliente RData, Tipos Anticuados De registro, y Tipos Experimentales De registro.

preprocessor dns: \

ports {53} \

enable_rdata_overflow

Smtp

Es un decodificador SMTP para aplicaciones de usuario. Considerando un buffer de datos, SMTP descodifica el buffer y encuentra órdenes SMTP y respuestas.

preprocessor smtp:\

ports {25 587 691} \

inspection_type stateful \

normalize cmds \

normalize_cmds {EXPN VRFY RCPT} \

alt_max_command_line_len 260 {MAIL} \

alt_max_command_line_len 300 {RCPT} \

alt_max_command_line_len 500 {HELP HELO ETRN} \

Documento similar