TesisCompleta-394-2011.pdf

Anuncio
i
UNIVERSIDAD DE GUAYAQUIL
FACULTAD DE CIENCIAS MATEMÁTICAS Y FÍSICAS
CARRERA DE INGENIERIA EN SISTEMAS
COMPUTACIONALES
“DISEÑO E IMPLEMENTACIÓN DE UN SISTEMA DETECTOR
DE INTRUSOS PARA AUMENTAR LASEGURIDAD
INFORMÁTICA APLICANDO LA
PLATAFORMA GNU-LINUX”
TESIS DE GRADO
Previa a la obtención del Título de:
INGENIERO EN SISTEMAS COMPUTACIONALES
AUTOR: JAVIER ANDRÉS ARELLANO GARCÍA
TUTOR: ING. ALFONSO GUIJARRO RODRÍGUEZ
GUAYAQUIL – ECUADOR
2011
ii
Guayaquil,_________________________ 2011
APROBACIÓN DEL TUTOR
En mi calidad de Tutor del trabajo de investigación, “DISEÑO E
IMPLEMENTACIÓN DE UN SISTEMA DETECTOR DE INTRUSOS PARA
AUMENTAR
LA
SEGURIDAD
INFORMATICAAPLICANDO
LA
PLATAFORMAGNU-LINUX”elaboradoporelSr.JAVIER
ANDRÉS
ARELLANO GARCÍA, egresado de la Carrera de Ingeniería en Sistemas
Computacionales, Facultad de Ciencias Matemáticas y Físicas de la Universidad de
Guayaquil, previo a la obtención del Título de Ingeniero en Sistemas, me permito
declarar que luego de haber orientado, estudiado y revisado, la Apruebo en todas sus
partes.
Atentamente
__________________________________
Ing. Alfonso Guijarro Rodríguez
TUTOR
iii
DEDICATORIA
La presente tesis se la dedico a mi familia por su apoyo y confianza. Gracias por
ayudarme a cumplir mis objetivos como persona y estudiante. A mi madre, que a
pesar de la distancia siempre estuvo apoyándome y aconsejándome.
.
iv
TRIBUNAL DE GRADO
Ing. Fernando Abad Montero
Ing. Juan ChanabáAlcócer
DECANO DE LA FACULTAD
DIRECTOR
CIENCIAS MATEMÁTICAS Y FÍSICAS
MIEMBRO DEL TRIBUNAL
Ing. Alfonso Guijarro Rodríguez
MIEMBRO DEL TRIBUNAL
SECRETARIO
UNIVERSIDAD DE GUAYAQUIL
TUTOR
v
FACULTAD DE CIENCIAS MATEMÁTICAS Y FÍSICAS
CARRERA DE INGENIERIA EN SISTEMAS
COMPUTACIONALES
“DISEÑO E IMPLEMENTACIÓN DE UN SISTEMA DETECTOR
DE INTRUSOS PARA AUMENTAR LASEGURIDAD
INFORMÁTICA APLICANDO LA
PLATAFORMA GNU-LINUX”
Autor: Javier Andrés Arellano García
Tutor: Alfonso Guijarro Rodríguez
RESUMEN
La constante evolución de la tecnología informática ha permitido un aumento
considerable de datos que viajan a través de Internet. Con el pasar del tiempo se han
desarrollado varias técnicas de invasiones de sistemas, robo de datos y la interrupción
de servicios. Estos hallazgos han llevado a los desarrolladores de software a crear
nuevas tecnologías para el control y seguimiento de las actividades preventivas
procedentes de redes no confiables en un intento de aumentar el grado de seguridad
de la red y evitar el creciente número de ataques. Entre las varias formas de
protección, un IDS (IntrusionDetectionSystem) es una solución que busca cumplir
con ciertos requisitos para crear una capa de seguridad en una red. En este trabajo se
propone examinar los conceptos, el funcionamiento y los aspectos más relevantes
sobre la tecnología de detección de intrusiones (IDS). En especial analizaremos
SNORT una solución Open Source(código abierto), ampliamente utilizada hoy en
día.
UNIVERSIDAD DE GUAYAQUIL
vi
FACULTAD DE CIENCIAS MATEMÁTICAS Y FÍSICAS
CARRERA DE INGENIERIA EN SISTEMAS
COMPUTACIONALES
DISEÑO E IMPLEMENTACIÓN DE UN SISTEMA DETECTOR DE
INTRUSOS PARA AUMENTAR LA SEGURIDAD INFORMÁTICA
APLICANDO LA PLATAFORMA GNU-LINUX
Proyecto de trabajo de grado que se presenta como requisito para optar por el título de
INGENIEROen SISTEMAS COMPUTACIONALES.
Autor:Javier Andrés Arellano García
C.I.:0919263970
Tutor: Ing. Alfonso Guijarro Rodríguez
Guayaquil, Septiembre del 2011
CERTIFICADO DE ACEPTACIÓN DEL TUTOR
vii
En mi calidad de Tutor del Primer Curso de Fin de Carrera, nombrado por el
Departamento de Graduación y la Dirección de la Carrera de Ingeniería en Sistemas
Computacionales de la Universidad de Guayaquil,
CERTIFICO:
Que he analizado el Proyecto de Grado presentado por
elegresadoJAVIER ANDRÉS ARELLANO GARCÍA, como requisito previo para
optar por el título de Ingeniero cuyo problema es:
“DISEÑO E IMPLEMENTACIÓN DE UN SISTEMA DETECTOR DE
INTRUSOS PARA AUMENTAR LA SEGURIDAD INFORMÁTICA
APLICANDO LA PLATAFORMA GNU-LINUX”,
considero aprobado el trabajo en su totalidad.
Presentado por:
Arellano García Javier Andrés
Cédula de Ciudadanía No. 0919263970
Tutor: Ing. Alfonso Guijarro Rodríguez
Guayaquil, Septiembre del 2011
ÍNDICE GENERAL
viii
Pág.
CARÁTULA
CARTA DE ACEPTACIÓN DEL TUTOR
DEDICATORIA
TRIBUNAL DE GRADO
RESUMEN
CERTIFICADO DE ACEPTACIÓN DEL TUTOR
ÍNDICE GENERAL
ÍNDICE DE CUADROS
ÍNDICE DE GRAFICOS
RESUMEN
ABSTRACT
i
ii
iii
iv
v
vii
viii
x
xii
xv
xvi
INTRODUCCIÓN
1
CAPÍTULO I.- EL PROBLEMA
PLANTEAMIENTO DEL PROBLEMA
Ubicación del Problema en un contexto
Situación Conflicto Nudos críticos
Causas y consecuencias del problema
Delimitación del Problema
Evaluación del Problema
Objetivos de la investigación
Objetivo general
Objetivos específicos
Justificación e importancia
4
4
5
10
11
12
14
14
14
15
CAPÍTULO II.- MARCO TEÓRICO
ANTECEDENTES DEL ESTUDIO
La importancia de la seguridad
Sistemas de detección de intrusos
Antecedentes de los sistemas de detección de intrusos
Arquitectura de un IDS
Tipos de IDS
Escenarios de los IDS en una LAN
Análisis de los datos obtenidos por los sistemas NIDS
Falsos positivos y falsos negativos
Tipos de ataques
Ataques de denegación de servicio (DOS)
IP Flooding
Smurf
TCP/SYN Flooding
17
18
20
23
27
29
31
37
42
43
44
48
49
ix
Teardrop
Snork
Ping of death
Ataques distribuidos (DDOS)
TRIN00
TribeFlood Network
Shaft
TribeFlood Network 2000
Ejemplo de ataque DDOS
Snort
Componentes de Snort
Módulo de captura de datos
Decodificador
Preprocesador
Reglas
Categorías de reglas Snort
Estructura de las reglas
Cabecera de una regla
Las opciones de las reglas
Motor de detección
Módulos de salida
51
53
55
57
58
61
63
65
66
72
73
75
77
79
82
83
84
85
87
89
92
CAPÍTULO III.- METODOLOGÍA
DISEÑO DE LA INVESTIGACIÓN
Modalidad de la Investigación
Tipo de investigación
Población y Muestra
Instrumento de recolección de datos
Procesamiento y Análisis
Criterio para la laboración de la propuesta
94
94
95
95
98
113
CAPÍTULO IV.- MARCO ADMINISTRATIVO
Cronograma
Presupuesto
Recursos utilizados
Conclusiones
Recomendaciones
Anexos
Bibliografía
115
116
117
118
122
124
162
ÍNDICE DE CUADROS
x
Pág.
CUADRO 1
Porcentaje de Vulnerabilidades por tipo de sitio
6
CUADRO 2
Anchos de banda y tamaño diario de las redes más comunes
32
CUADRO 3
Fragmentación correcta
52
CUADRO 4
Fragmentación incorrecta
52
CUADRO 5
Esquema de comunicaciones de TRIN00
61
CUADRO 6
Esquema de comunicaciones de Shaft
64
CUADRO 7
Análisis real de los paquetes 179/TCP SYN recibidos
68
CUADRO 8
Análisis real de los paquetes del segundo ataque
71
CUADRO 9
Preprocesadores para Snort
81
CUADRO 10
Resultados de la pregunta 1
95
CUADRO 11
Resultados de la pregunta 2
100
CUADRO 12
xi
Resultados de la pregunta 3
101
CUADRO 13
Resultados de la pregunta 4
102
CUADRO14
Resultados de la pregunta 5
104
CUADRO 15
Resultados de la pregunta 6
105
CUADRO 16
Resultados de la pregunta 7
107
CUADRO17
Resultados de la pregunta 8
108
CUADRO 18
Resultados de la pregunta 9
110
CUADRO 19
Resultados de la pregunta 10
111
CUADRO 20
Presupuesto
116
ÍNDICE DE GRÁFICOS
xii
Pág.
GRÁFICO 1
Esquema de un funcionamiento de auditorías
21
GRÁFICO2
Arquitectura de propósito general para la construcción de IDS
25
GRÁFICO3
Locación del NIDS (sensor) antes del firewall
29
GRÁFICO4
Locación del NIDS (sensor) en el firewall o adyacente
30
GRÁFICO5
Locación del NIDS (sensor) antes del firewall y en el firewall o adyacente
31
GRÁFICO 6
Ejemplos de trazas para evaluar la criticidad
35
GRÁFICO7
Ejemplos de falso positivo para SYN FLOOD
40
GRÁFICO8
Ataque IP Flooding
45
GRÁFICO9
Ataque Broadcast IP Flooding
47
GRÁFICO10
Ataque Smurf
48
GRÁFICO11
Ataque Snork
54
GRÁFICO 12
Ataque típico de DDOS.
57
GRÁFICO 13
Ataque TRIN00
60
GRÁFICO 14
Esquema del ataque DRDOS
70
xiii
GRÁFICO15
Arquitectura de SNORT
74
GRÁFICO 16
Flujo de datos del decodificador
78
GRÁFICO 17
Capas TCP/IP
79
GRÁFICO18
Estructura de una Regla y su Cabecera
84
GRÁFICO19
Estructura de la Cabecera de una regla Snort
85
GRÁFICO20
Diagrama de Decodificación de Paquetes
91
GRÁFICO21
Pregunta 1
99
GRÁFICO22
Pregunta 2
100
GRÁFICO23
Pregunta 3
102
GRÁFICO24
Pregunta 4
103
GRÁFICO25
Pregunta 5
104
GRÁFICO26
Pregunta 6
106
GRÁFICO27
Pregunta 7
107
GRÁFICO28
Pregunta 8
109
GRÁFICO29
xiv
Pregunta 9
111
GRÁFICO30
Pregunta 10
112
GRÁFICO31
Esquema de la propuesta
114
xv
UNIVERSIDAD DE GUAYAQUIL
FACULTAD DE CIENCIAS MATEMÁTICAS Y FÍSICAS
CARRERA DE INGENIERIA EN SISTEMAS
COMPUTACIONALES
“DISEÑO E IMPLEMENTACIÓN DE UN SISTEMA DETECTOR
DE INTRUSOS PARA AUMENTAR LASEGURIDAD
INFORMÁTICA APLICANDO LA
PLATAFORMA GNU-LINUX”
Autor: Javier Andrés Arellano García
Tutor: Alfonso Guijarro Rodríguez
RESUMEN
La constante evolución de la tecnología informática ha permitido un aumento
considerable de datos que viajan a través de Internet. Con el pasar del tiempo se han
desarrollado varias técnicas de invasiones de sistemas, robo de datos y la interrupción
de servicios. Estos hallazgos han llevado a los desarrolladores de software a crear
nuevas tecnologías para el control y seguimiento de las actividades preventivas
procedentes de redes no confiables en un intento de aumentar el grado de seguridad
de la red y evitar el creciente número de ataques.Entre las varias formas de
protección, un IDS (IntrusionDetectionSystem) es una solución que busca cumplir
con ciertos requisitos para crear una capa de seguridad en una red. En este trabajo se
propone examinar los conceptos, el funcionamiento y los aspectos más relevantes
sobre la tecnología de detección de intrusiones (IDS). En especial analizaremos
SNORT una solución Open Source(código abierto), ampliamente utilizada hoy en
día.
xvi
UNIVERSIDAD DE GUAYAQUIL
FACULTAD DE CIENCIAS MATEMÁTICAS Y FÍSICAS
CARRERA DE INGENIERIA EN SISTEMAS
COMPUTACIONALES
“DISEÑO E IMPLEMENTACIÓN DE UN SISTEMA DETECTOR
DE INTRUSOS PARA AUMENTAR LASEGURIDAD
INFORMÁTICA APLICANDO LA
PLATAFORMA GNU-LINUX”
Autor: Javier Andrés Arellano García
Tutor: Alfonso Guijarro Rodríguez
ABSTRACT
The constant evolution of computer technology has allowed an increase considerable
data that travels over the Internet. With the passage of time have developed several
techniques of invasions of systems, data theft and service disruptions. These findings
have led to software developers to create new technologies for control and monitoring
of prevention activities from untrusted networks in an attempt to increase the security
of the network and avoid the growing number of attacks.Among the various forms of
protection, anIDS(Intrusion Detection System) is a solution that seeks to meet certain
requirements to create a layer of network security.This paper will examine the
concepts, operation and the most relevant aspects of technology intrusion detection
(IDS). In particular we analyze SNORT (open source), widely used today.
1
INTRODUCCIÓN
La seguridad informática es un tema que mucha gente no le da la importancia que
realmente tiene; muchas veces por el hecho de considerar que es inútil o que jamás la
utilizara. Pero en el mundo moderno, cada día más y más personas mal intencionadas
pretenden tener acceso a nuestros datos.
El acceso no autorizado a una red informática o a los equipos que en ella se encuentran
pueden ocasionar en la gran mayoría de los casos graves problemas. Uno de las
posibles consecuencias de una intrusión es la pérdida de datos. Es un hecho frecuente
y ocasiona muchos trastornos, sobre todo si no estamos al día de las copias de
seguridad. Y aunque estemos al día, no siempre es posible recuperar la totalidad de los
datos.
Otro de los problemas más dañinos es el robo de información sensible y confidencial.
La divulgación de la información que posee una empresa sobre sus clientes puede
acarrear demandas millonarias contra esta, o un ejemplo más cercano a usted es el de
nuestras contraseñas de las cuentas de correo por las que intercambiamos información
con otros.
2
El desarrollo de la tecnología informática ha abierto las puertas a nuevas posibilidades
de delincuencia antes impensables. La cuantía de los perjuicios así ocasionados es a
menudo muy superior a la usual en la delincuencia tradicional y también son mucho
más elevadas las posibilidades de que no lleguen a descubrirse o castigarse.
Con el desarrollo de la programación y de Internet, los delitos informativos se han
vuelto más frecuentes y sofisticados. Existe una amplia gama de actividades delictivas
que se realizan por medios informáticos: ingreso ilegal a sistemas, intercepción ilegal
de redes, interferencias, daños en la información (borrado, deterioro, alteración o
supresión de data), mal uso de artefactos, chantajes, fraude electrónico, ataques a
sistemas, robo de bancos, ataques realizados por Hackers, violación de los derechos de
autor, pornografía infantil, pedofilia enInternet, violación de información confidencial
y muchos otros.
Los indicadores anteriores, nos han permitido conocer algunos datos generales
respecto de la tecnología y sus problemas de seguridad asociados. Lo cierto es que
cada nueva implementación de sistemas y tecnología, presupone riesgos.
Un aspecto que a menudo es pasado por alto, radica en el hecho de que la seguridad
debe ser incumbencia de todos y no tan solo de los especialistas. Esto no solo es
aplicable dentro de las organizaciones, sino que también debería serlo en relación al
individuo como parte activa de la sociedad de la información.
3
En un mundo globalizado y altamente dependiente de la tecnología, todos debemos
entender nuestro grado de responsabilidad respecto de los temas de seguridad de la
información. Algunos desde posiciones de estado, otros desde la visión del profesional
calificado en tareas relativas a seguridad de la información y otro tan solo como
simples usuarios y/o consumidores de sistemas y tecnología.
4
CAPÍTULO I
EL PROBLEMA
PLANTEAMIENTO DEL PROBLEMA
UBICACIÓN DEL PROBLEMA EN UN CONTEXTO
Debido a la gran cantidad de información que se maneja en la actualidad en las
diversas empresas que existen en el medio y a la utilización de recursos informáticos
para el manejo de dicha información existe el riesgo de que ocurra el robo de datos a
través de agentes externos a la institución como por ejemplo los denominados hackers,
que tienen grandes conocimientos tecnológicos, y por lo tanto afectar las operaciones
de la compañía si no se cuenta con un adecuado sistema de seguridad.
El hecho de conectar una red a un entorno externo nos da la posibilidad de que algún
atacante pueda entrar en ella, con esto, se puede hacer robo de información o alterar el
funcionamiento de la red. Sin embargo el hecho de que la red no sea conectada a un
entorno externo no nos garantiza la seguridad de la misma. De acuerdo con el
Computer Security Institute (CSI) de San Francisco aproximadamente entre 60 y 80
por ciento de los incidentes de red son causados desde adentro de la misma.
5
A finales de 1996, Dan Farmer (creador de una de las herramientas más útiles en la
detección de intrusos: SATAN) realizó un estudio sobre seguridad analizando 2.203
sistemas de sitios en Internet. Los sistemas objeto del estudio fueron Web Sites
orientados al comercio y con contenidos específicos, además de un conjunto de
sistemas informáticos aleatorios con los que realizar comparaciones.
El estudio se realizó empleando técnicas sencillas y no intrusivas. Se dividieron los
problemas potenciales de seguridad en dos grupos: rojos (red) y amarillos (yellow).
Los problemas del grupo rojo son los más serios y suponen que el sistema está abierto
a un atacante potencial, es decir, posee problemas de seguridad conocidos en
disposición de ser explotados. Así por ejemplo, un problema de seguridad del grupo
rojo es un equipo que tiene el servicio de FTP anónimo mal configurado.
Los problemas de seguridad del grupo amarillo son menos serios pero también
reseñables. Implican que el problema detectado no compromete inmediatamente al
sistema pero puede causarle serios daños o bien, que es necesario realizar tests más
intrusivos para determinar si existe o no un problema del grupo rojo.
El cuadro 1 resume los sistemas evaluados, el número de equipos en cada categoría y
los porcentajes de vulnerabilidad para cada uno. Aunque los resultados son límites
superiores, no dejan de ser escandalosos.
6
CUADRO No. 1
PORCENTAJE DE VULNERABILIDADES POR TIPO DE SITIO1
Tipo de sitio
# Total de sitios
% Total
%
%
testeados
Vulnerables
Yellow
Red
Bancos
660
68,34
32,73
35,61
Créditos
274
51,1
30,66
20,44
Sitios Federales US
47
61,7
23,4
38,3
News
312
69,55
30,77
38,78
Sexo
451
66,08
40,58
25,5
1.734
64,93
33,85
31,08
469
33,05
15,78
17,27
Totales
Grupo aleatorio
Elaboración:http://www.segu-info.com.ar/ataques/ataques.htm
Fuente: www.trouble.org/survey
Como puede observarse, cerca de los dos tercios de los sistemas analizados tenían
serios problemas de seguridad y Farmer destaca que casi un tercio de ellos podían ser
atacados con un mínimo esfuerzo.
SITUACIÓN CONFLICTO NUDOS CRÍTICOS
A nivel mundial, las computadoras, llámense servidores, estaciones de trabajo o
simplemente PC's, son vulnerados y a consecuencia de ello la información de los
usuarios queda expuesta. Esta puede ser las finanzas de la empresa, números de
1
Fuente: www.trouble.org/survey
7
tarjetas de crédito, planes estratégicos, datos relacionados con la investigación y el
desarrollo de nuevos productos o servicios, etc.
Debido a que vivimos en una era digital es imprescindible utilizar este tipo de
infraestructura informática, es necesario contar con un sistema de seguridad
idealmente diseñado para el óptimo desempeño de la organización.La seguridad es un
tema muy importante para cualquier empresa, este o no conectada a una red pública.
No solamente es importante, sino que también puede llegar a ser compleja.
Mediante la materialización de una amenaza podría ocurrir el acceso modificación o
eliminación de información no autorizada; la interrupción de un servicio o el
procesamiento de un sistema; daños físicos o robo del equipamiento y medios de
almacenamiento de información.
A continuación se da una descripción de diferentes tipos de amenazas en una red.
Escaneo de Puertos. Consiste en detectar qué servicios posee activos un equipo, con
el objeto de ser utilizados para los fines del atacante.
Wardialers. Se trata de herramientas de software que utilizan el acceso telefónico de
una máquina para encontrar puntos de conexión telefónicos en otros equipos o redes,
con el objeto de lograr acceso o recabar información.
8
Código Malicioso / Virus. Se define como todo programa o fragmento del mismo que
genera algún tipo de problema en el sistema en el cual se ejecuta, interfiriendo de esta
forma con el normal funcionamiento del mismo.
Exploits. Se trata de programas o técnicas que explotan una vulnerabilidad de un
sistema para el logro de los objetivos del atacante, como ser, intrusión, robo de
información, denegación de servicio, etc.
Ataques de Contraseña. Consiste en la prueba metódica de contraseñas para lograr el
acceso a un sistema, siempre y cuando la cuenta no presente un control de intentos
fallidos de logueo. Este tipo de ataques puede ser efectuado:

Por diccionario: existiendo un diccionario de palabras, una herramienta
intentará acceder al sistema probando una a una las palabras incluidas en el
diccionario.

Por fuerza bruta: una herramienta generará combinaciones de letras números y
símbolos formando posibles contraseñas y probando una a una en el login del
sistema.
Control Remoto de Equipos. Un atacante puede tomar el control de un equipo en
forma remota y no autorizada, mediante la utilización de programas desarrollados para
tal fin, e instalados por el atacante mediante, por ejemplo la utilización de troyanos.
9
IP Spoofing – MAC Address Spoofing. El atacante modifica la dirección IP o la
dirección MAC de origen de los paquetes de información que envía a la red,
falsificando su identificación para hacerse pasar por otro usuario. De esta manera, el
atacante puede asumir la identificación de un usuario válido de la red, obteniendo sus
privilegios.
Backdoors. También denominados “puertas traseras”, consisten en accesos no
convencionales a los sistemas, los cuales pueden permitir efectuar acciones que no son
permitidas por vías normales. Generalmente son instalados por el atacante para lograr
un permanente acceso al sistema.
Phishing. Consiste en el envío masivo de mensajes electrónicos que fingen ser
notificaciones oficiales de entidades/empresas legítimas con el fin de obtener datos
personales y bancarios de los usuarios.
10
CAUSAS Y CONSECUENCIAS DEL PROBLEMA
Entre las causas comunes de la inseguridad de los sistemas se encuentran: los defectos
potenciales de seguridad en la instalación del producto de software, en la
configuración de los servicios de red, así como en la implantación de decisiones
tácticas ignorantes de las condiciones mínimas de seguridad para los sistemas. Otros
métodos que han resultado efectivos para un atacante son: la ingeniería social y el
rompimiento de password2.
El ataque a los sistemaspuede ser por fines económicos, por obtener cierto tipo de
información, para sabotear las operaciones de la empresa, para desmeritar el prestigio
de la empresa, por revanchismo o simplemente por curiosidad, entre otras muchas
causas. En cualquier caso, el riesgo e impacto son altos para la empresa. La pérdida de
información sensitiva, fraude, paro de operaciones, además de las pérdidas en imagen
por el impacto publicitario que genere el ataque, representan altos costos para la
empresa.
En ocasiones, las intrusiones no son detectadas debido a su naturaleza y porque el
atacante, como todo intruso, se cuida de “no dejar huella” para seguir explotando el
medio por el cual acceso a los sistemas atacados. No olvide que el atacante es un
experto en temas de computación, conoce y prueba los productos de software para
2
http://www.inforc.ec/seguridadinfo.htm
11
buscar vulnerabilidades de seguridad y crear las herramientas específicas para su
explotación. Se enfoca pues a vulnerar la seguridad de los sistemas.
DELIMITACIÓN DEL PROBLEMA
Un sistema de detección de intrusos (IDS) es un programa que se usa para detectar
accesos no autorizados a una red o a un ordenador. Estos accesos no autorizados son
conjuntos de acciones que pueden comprometer la integridad, confidencialidad o
disponibilidad de un recurso informático o de una determinada información.
Para poner en funcionamiento un sistema de detección de intrusos se debe tener en
cuenta que es posible optar por una solución de hardware, software o incluso una
combinación de estos dos. Para el desarrollo de mi proyecto utilizareel software
VMWarecon el cual crearemos una red virtual para hacer las pruebas respectivas de
nuestro sistema detector de intrusos.
Cabe mencionar que la seguridad es un proceso continuo de mejora por lo que las
políticas y controles establecidos para la protección de la información deberán
revisarse y adecuarse, de ser necesario, ante los nuevos riesgos que surjan, a fin de
tomar las acciones que permitan reducirlos y en el mejor de los casos eliminarlos.
12
EVALUACIÓN DEL PROBLEMA
Debido a que el uso de tecnologíasexperimenta un nivel de crecimiento bastante alto,
cada vez más compañías permiten acceder a sus socios y proveedores a sus sistemas
de información. Por lo tanto es fundamental contar con un adecuado sistema de
seguridad informáticoante la posible amenaza de intrusiones, no solo para prevenir al
acceso no autorizado a los datos confidenciales sino también para la evitar la posible
pérdida de información que se podría dar.
Estos riesgos informáticos son los que me han motivado a basar mi tema de tesis en lo
relacionado a la seguridad informática, el cual me permitirá diseñar e implementar un
Sistema detector de intrusos.
Al hablar sobre la "Seguridad informática" me refiero al gran índice de inseguridad
interna de la infraestructura informática de las empresas, así como la falta de una
cultura informática necesaria para contemplar estos problemas.El alto grado de
vulnerabilidad de la información transferida por la Internet y la facilidad de ataques
externos e internos que se traducen en pérdidas que ascienden hasta miles de dólares
en términos de información alterada, robada o perdida.
13
Más que un problema de tecnología, la seguridad en la transmisión de la información
por la Red se debe a la falta de cultura de las organizaciones y de las personas que la
integran.
El usuario final es el eslabón más débil de la cadena; el soldado más lento de esa
columna. Para disminuir los riesgos a la integridad de la data, el usuario debe entender
qué es seguridad informática y cuáles son las medidas de seguridad necesarias para
proteger los datos.3
A todos los usuarios se les debe divulgar las políticas de seguridad, además de hacer
constantes auditorías para controlar que sean las adecuadas al momento que vive la
empresa.
Lo que se necesita no es solamente prevenir un ataque en la seguridad, sino ser
capaces de detectar y responder a esta agresión mientras ocurre y reaccionar ante la
misma.
Es importante destacar que no existe un control de seguridad único, sino que las
empresas deben contar con diversas capas de seguridad en todos los niveles de su
información para poder así detectar el problema en algunos de estos puntos antes de
que llegue a la información crucial.
3
Gral. Luis Bracho Magdaleno
Director de Tecnología del Ministerio del Poder Popular para la Defensa de Venezuela
14
OBJETIVOS DE LA INVESTIGACIÓN
OBJETIVO GENERAL

Diseñar e implementar un sistema detector de intrusos que nos ofrezca las
garantías necesarias al ser ejecutado en una compañía o institución que
requiera estrictos niveles de seguridad informática.
OBJETIVOS ESPECÍFICOS

Disminuir el riesgo al que están expuestas las compañías o instituciones y sus
sistemas informáticos.

Establecer como plataforma el sistema operativo GNU-Linux en su
distribución Open Suse 11.2 para el desarrollo del proyecto.

Implementar este sistema en una máquina virtual para realizar las pruebas
necesarias.

Generar reportes diarios de las actividades generadas en el sistema.

Evaluar el comportamiento del sistema ante una amenaza real.
15
JUSTIFICACIÓN E IMPORTANCIA
Con el desarrollo de la informática y de las comunicaciones, la representación de la
información ha variado así como las diversas formas de transmisión y comunicación
de ésta. Por ello surge la necesidad de incorporar esquemas de protección de la misma
pues, su confidencialidad, disponibilidad e integridad afecta desde un individuo hasta
un negocio.
La existencia de amenazas que afectan la disponibilidad, integridad y confidencialidad
de los datos es real. Es crítico para las organizaciones poder identificar esas amenazas
y adoptar recomendaciones que permitan prevenir, detectar y protegerse de ellas. La
diversidad y la heterogeneidad de los sistemas de información que requieren las
organizaciones actuales, sumado a la globalización a la que se enfrentan al conectar
esos sistemas al mundo de Internet, genera un sinfín de incertidumbres en lo referente
a la Seguridad de la Información.
Lo que me motivo a escoger este tema deproyecto de gradoera para investigar las
herramientas necesarias paran mantener una red segura y prevenir el alto porcentaje de
vulnerabilidad del que son objeto las redes en la actualidad.
En este sentido, tratare de aportar una solución integral de seguridad que abarca desde
el diagnóstico de la situación actual, hasta la implementación y puesta en marcha de
16
unsistema de detección de intrusos, incluyendo el análisis y la definición de los
elementos de seguridad que deben ser implantados a nivel técnico.
Se pretende beneficiar con este sistema de seguridad en redes a las diversas compañías
existentes en el mercado y a sus clientes que recibirán todas las seguridades necesarias
al realizar sus transacciones en este tipo de infraestructura.
La estabilidad y robustez que caracterizan al sistema operativo GNU-Linux han hecho
que lo tome en consideración como la plataforma para desarrollar este proyecto de
grado.
17
CAPÍTULO II
MARCO TEÓRICO
ANTECEDENTES DEL ESTUDIO
LA IMPORTANCIA DE LA SEGURIDAD
Garantizar que los recursos informáticos de una compañía estén disponibles para
cumplir sus propósitos, es decir, que no estén dañados o alterados por circunstancias o
factores externos, es una definición útil para conocer lo que implica el concepto de
seguridad informática.
En términos generales, la seguridad puede entenderse como aquellas reglas técnicas
y/o actividades destinadas a prevenir, proteger y resguardar lo que es considerado
como susceptible de robo, pérdida o daño, ya sea de manera personal, grupal o
empresarial.
En este sentido, es la información el elemento principal a proteger, resguardar y
recuperar dentro de las redes empresariales.Por la existencia de personas ajenas a la
información, también conocidas como piratas informáticos o hackers, que buscan tener
acceso a la red empresarial para modificar, sustraer o borrar datos.
18
Tales personajes pueden, incluso, formar parte del personal administrativo o de
sistemas, de cualquier compañía; de acuerdo con expertos en el área, más de 70 por
ciento de las violaciones e intrusiones a los recursos informáticos se realiza por el
personal interno, debido a que éste conoce los procesos, metodologías y tiene acceso a
la información sensible de su empresa, es decir, a todos aquellos datos cuya pérdida
puede afectar el buen funcionamiento de la organización.4
Esta situación se presenta gracias a los esquemas ineficientes de seguridad con los que
cuentan la mayoría de las compañías a nivel mundial, y porque no existe conocimiento
relacionado con la planeación de un esquema de seguridad eficiente que proteja los
recursos informáticos de las actuales amenazas combinadas.
El resultado es la violación de los sistemas, provocando la pérdida o modificación de
los datos sensibles de la organización, lo que puede representar un daño con valor de
miles o millones de dólares.
SISTEMAS DE DETECCIÓN DE INTRUSOS
La detección de ataques e intrusiones parte de la idea que un atacante es capaz de
violar nuestra política de seguridad, atacando parcial o totalmente los recursos de una
red, con el objetivo final de obtener un acceso con privilegios de administrador.
4
Revista Red, Noviembre 2002
19
Los mecanismos para la detección de ataques e intrusiones tratan de encontrar y
reportar la actividad maliciosa en la red, pudiendo llegar a reaccionar adecuadamente
ante un ataque.
En la mayoría de los casos es deseable poder identificar el ataque exacto que se está
produciendo, de forma que sea posible detener el ataque y recuperarse del mismo. En
otras situaciones, sólo será posible detectar e informar de la actividad sospechosa que
se ha encontrado, ante la imposibilidad de conocer lo que ha sucedido realmente.
Generalmente, la detección de ataques trabajará con la premisa de que nos
encontramos en la peor de las situaciones, suponiendo que el atacante ha obtenido un
acceso al sistema y que es capaz de utilizar o modificarsusrecursos.
Los elementos más destacables dentro de la categoría de mecanismos para la detección
de ataques e intrusiones son los sistemas de detección de intrusos.A continuación
introduciremos dos definiciones básicas en el campo de la detección de intrusos con el
objetivo de clarificar términos comunes que se utilizarán más adelante.
.
Una intrusión es una secuencia de acciones realizadas por un usuario o proceso
deshonesto, con el objetivo final de provocar un acceso no autorizado sobre un equipo
o un sistema al completo.
20
La intrusión consistirá en la secuencia de pasos realizados por el atacante que viola
una determinada política de seguridad. La existencia de una política de seguridad, en
la que se contemplan una serie de acciones deshonestas que hay que prevenir, es un
requisito clave para la intrusión. Es decir, la violación sólo se podrá detectar cuando
las acciones observadas puedan ser comparadas con el conjunto de reglas definidas en
la política de seguridad.
La detección de intrusiones es el proceso de identificación y respuesta ante las
actividades ilícitas observadas contra uno o varios recursos de una red.
Esta última definición introduce la noción de proceso de detección de intrusos, que
involucra toda una serie de tecnologías, usuarios y herramientas necesarias para llegar
a buen término.
ANTECEDENTES DE LOS SISTEMAS DE DETECCIÓN DE
INTRUSOS
Los sistemas de detección de intrusos son una evolución directa de los primeros
sistemas de auditorías. Estos sistemas tenían como finalidad medir el tiempo que
dedicaban los operadores a usar los sistemas. Con esta finalidad, se monitorizaban con
una precisión de milésimas de segundo y servían, entre otras cosas, para poder facturar
el servidor.
21
Los primeros sistemas aparecieron en la década de los cincuenta, cuando la empresa
norteamericana Bell TelephoneSystemcreó un grupo de desarrollo con el objetivo de
analizar el uso de los ordenadores en empresas de telefonía. Este equipo estableció la
necesidad de utilizar auditorías mediante el procesamiento electrónico de los datos,
rompiendo con el anterior sistema basado en la realización de informes en papel. Este
hecho provocó que a finales de los años 50 la Bell TelephoneSystemse embarcara en el
primer sistema a gran escala de facturación telefónica controlada por ordenadores.
El siguiente gráfico muestra un sencillo esquema del funcionamiento de un sistema de
auditorías, en el cual los eventos de sistema son capturados por un generador de
auditorías que llevará los datos hacia el elemento encargado de almacenarlos en un
fichero de informe.
GRÁFICO 1
ESQUEMA DE UN FUNCIONAMIENTO DE AUDITORÍAS
Elaboración:Joaquín García Alfaro
Fuente:<http://revistaenter.net/biblia/012.1%20Aspectos%20avanzados%20en%20se
guridad%20en%20redes%20modulos.pdf>
22
A partir de los años 70, el Departamento de Defensa de los EEUU empezó a invertir
numerosos recursos en la investigación de políticas de seguridad, directrices y pautas
de control. Estos esfuerzos culminaron con una iniciativa de seguridad en 1977 en la
que se definía el concepto de sistemas de confianza.
.
Los sistemas de confianza son aquellos sistemas que emplean suficientes recursos
software y hardware para permitir el procesamiento simultáneo de una variedad de
información confidencial o clasificada. En estos sistemas se incluían distintos tipos de
información repartida en niveles, que correspondían a su grado de confidencialidad.
A
finales
de
la
década
de
los
setenta
TrustedComputerSystemEvaluationCriteria(TSCSEC)
un
se
incluyó
apartado
en
el
sobre
los
mecanismos de las auditorías como requisito para cualquier sistema de confianza con
un nivel de seguridad elevado. En este documento, conocido bajo el nombre de Libro
marrón (Tan book), se enumeran los objetivos principales de un mecanismo de
auditoría que podemos resumir muy brevemente en los siguientes puntos:

Permitir la revisión de patrones de acceso (por parte de un objeto o por parte de
un usuario) y el uso de mecanismos de protección del sistema.

Permitir el descubrimiento tanto de intentos internos como externos de burlar
los mecanismos de protección.
23

Permitir el descubrimiento de la transición de usuario cuando pasa de un nivel
menor de privilegios a otro mayor (escalada de privilegios).

Permitir el bloqueo de los intentos de los usuarios de saltarse los mecanismos
de protección del sistema.

Servir de garantía frente a los usuarios de que toda la información que se recoja
sobre ataques e intrusiones será suficiente para controlar los posibles daños
ocasionados en el sistema.
ARQUITECTURA DE UN IDS
Desde el comienzo de la década de los ochenta se han llevado a cabo multitud de
estudios referentes a la construcción de sistemas para la detección de intrusos. En
todos estos estudios se han realizado diferentes propuestas y diseños con el objetivo de
cumplir los siguientes requisitos:

Precisión.Un sistema de detección de intrusos no debe que confundir acciones
legítimas con acciones deshonestas a la hora de realizar su detección.
Cuando las acciones legítimas son detectadas como acciones maliciosas, el
sistema de detección puede acabar provocando una denegación de servicio
contra un usuario o un sistema legítimo. Este tipo de detecciones se conoce
24
como falsos positivos. Cuanto menor sea el número de falsos positivos, mayor
precisión tendrá el sistema de detección de intrusos.

Eficiencia.El detector de intrusos debe minimizar la tasa de actividad
maliciosa no detectada (conocida como falsos negativos). Cuanto menor sea la
tasa de falsos negativos, mayor será la eficiencia del sistema de detección de
intrusos. Éste es un requisito complicado, ya que en ocasiones puede llegar a
ser imposible obtener todo el conocimiento necesario sobre ataques pasados,
actuales y futuros.

Rendimiento.El rendimiento ofrecido por un sistema de detección de intrusos
debe ser suficiente como para poder llegar a realizar una detección en tiempo
real. La detección en tiempo real responde a la detección de la intrusión antes
de que ésta llegue a provocar daños en el sistema. Según los expertos, este
tiempo debería de ser inferior a un minuto.

Escalabilidad.A medida que la red vaya creciendo (tanto en medida como en
velocidad), también aumentará el número de eventos que deberá tratar el
sistema. El detector tiene que ser capaz de soportar este aumento en el número
de eventos, sin que se produzca pérdida de información. Este requisito es de
gran relevancia en sistemas de detección de ataques distribuidos, donde los
eventos son lanzados en diferentes equipos del sistema y deben ser puestos en
correspondencia por el sistema de detección de intrusiones.
25

Tolerancia en fallos.El sistema de detección de intrusiones debe ser capaz de
continuar ofreciendo su servicio aunque sean atacados distintos elementos del
sistema incluyendo la situación de que el propio sistema reciba un ataque o
intrusión.
Con el objetivo de normalizar la situación, algunos miembros del IETF presentaron a
mediados de 1998 una arquitectura de propósito general para la construcción de
sistemas de detección de intrusos, conocida como CIDF. El esquema propuesto se
corresponde con el diagrama mostrado en el siguiente gráfico:
GRÁFICO 2
ARQUITECTURA PARA LA CONSTRUCCIÓN DE IDS
Elaboración:Joaquín García Alfaro
Fuente:<http://revistaenter.net/biblia/012.1%20Aspectos%20avanzados%20en%20se
guridad%20en%20redes%20modulos.pdf>
26
Dos años más tarde se creó un nuevo grupo de trabajo en el IETF con la intención de
estandarizar y mejorar la propuesta del CIDF. Este grupo de trabajo, conocido como
IDWG, replantea nuevamente los requisitos necesarios para la construcción de un
marco de desarrollo genérico y se marca los siguientes objetivos:

Definir la interacción entre el sistema de detección de intrusos frente a otros
elementos de seguridad de la red, como pueden ser los sistemas de prevención
(cortafuegos, listas de control de accesos, etc.).
Su primera propuesta se conoce con el nombre de TunnelProfile. Se trata de la
implementación de un mecanismo para la cooperación entre los distintos
elementos de seguridad mediante el intercambio de mensajes. Este mecanismo
garantiza una correcta comunicación entre los diferentes elementos,
proporcionando privacidad, autenticidad e integridad de la información
intercambiada (alertas, eventos, etc.).

Especificar el contenido de los mensajes intercambiados (eventos, alertas, etc.)
entre los distintos elementos del sistema. Por esto, proponen el formato
IDMEF y el protocolo de intercambio de mensajes IDXP.
27
Observando las propuestas tanto del CIDF como las del IDWG podemos ver que los
elementos necesarios para la construcción de un sistema para la detección de intrusos
se pueden agrupar en las siguientes cuatro categorías que presentamos a continuación:
1) Recolectores de información.
2) Procesadores de eventos.
3) Unidades de respuesta.
4) Elementos de almacenamiento.
TIPOS DE IDS
Existen dos tipos de sistemas de detección de intrusos:

HIDS

NIDS
HIDS (Host IDS)
Protege contra un único servidor, PC o host. Monitorizan gran cantidad de eventos,
analizando actividades con una gran precisión, determinando de esta manera qué
procesos y usuarios se involucran en una determinada acción. Recaban información
del sistema como ficheros, logs, recursos, etc, para su posterior análisis en busca de
posibles incidencias.Todo ello en modo local, dentro del propio sistema. Fueron los
primeros IDS en desarrollar por la industria de la seguridad informática.
28
NIDS (Net IDS)
Protege un sistema basado en red. Actúan sobre una red capturando y analizando
paquetes de red, es decir, son sniffers del tráfico de red. Luego analizan los paquetes
capturados, buscando patrones que supongan algún tipo de ataque.Bien ubicados,
pueden analizar grandes redes y su impacto en el tráfico suele ser pequeño.
Actúan mediante la utilización de un dispositivo de red configurado en modo
promiscuo (analizan, “ven” todos los paquetes que circulan por un segmento de red
aunque estos nos vayan dirigidos a un determinado equipo). Analizan el tráfico de red,
normalmente, en tiempo real. No sólo trabajan a nivel TCP/IP, también lo pueden
hacer a nivel de aplicación.
Otros tipos son los híbridos.Por el tipo de respuesta podemos clasificarlos en:

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 atacante.

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
nuestra configuración.
29
ESCENARIOS DE LOS IDS EN UNA LAN
Una vez explicados los componentes básicos de un sistema IDS, se ha de decidir de
qué tipo han de ser los distintos sensores que utilizará el NIDS (pullo push), y
finalmente se ha de concretar en qué lugar o lugares de la red deben colocarse:

Antes del firewall. Esta arquitectura se basa en detectar todos los paquetes que
llegan a nuestra red antes de ser filtradas por el firewall. De esta forma,
realizamos una búsqueda de eventos de interés en todo el tráfico recibido sin
interferencias de filtros del firewall.
GRÁFICO 3
LOCACIÓN DEL NIDS (SENSOR) ANTES DEL FIREWALL
Elaboración:Gabriel VerdejoAlvarez
Fuente:<http://www.elrinconcito.com/articulos/SeguridadIP/SeguridadIP.pdf>

En el firewall o adyacente. Consiste en situar el sensor en el propio firewall.
De esta forma se evitan ataques de intrusos a los sensores externos y se
30
eliminan muchos falsos positivos, ya que procesamos únicamente el tráfico que
el firewall deja pasar.
GRÁFICO 4
LOCACIÓN DEL NIDS (SENSOR) EN EL FIREWALL O ADYACENTE
Elaboración:Gabriel VerdejoAlvarez
Fuente:<http://www.elrinconcito.com/articulos/SeguridadIP/SeguridadIP.pdf>

Antes del firewall y en el firewall o adyacente. Es la opción es más costosa
pero que ofrece mayor seguridad, ya que permite obtener lecturas del tráfico
total y del tráfico filtrado por el firewall. Permite examinar la configuración del
firewall y comprobar si filtra correctamente o no.
31
GRÁFICO 5
LOCACIÓN DEL NIDS (SENSOR) ANTES DEL FIREWALL Y EN EL
FIREWALL O ADYACENTE
Elaboración:Gabriel Verdejo Alvarez
Fuente:<http://www.elrinconcito.com/articulos/SeguridadIP/SeguridadIP.pdf>
ANÁLISIS DE LOS DATOS OBTENIDOS POR LOS SISTEMAS
NIDS
Una vez comentados los tipos y diferentesescenarios de un IDS en una LAN, pasamos
a profundizar en el análisis de los datos obtenidos por nuestros sistemas de seguridad.
El tamaño de disco necesario para almacenar el tráfico de un solo día es totalmente
desorbitado (ver cuadro2). Con los filtros aplicados al tráfico supervisado y los
eventos de interés disminuimos substancialmente esta cantidad, sin embargo, no
solamente nos interesa el tráfico registrado en un solo día, sino que nos interesan
históricos de la semana, mes o incluso de años.
32
CUADRO No. 2
ANCHOS DE BANDA Y TAMAÑO DIARIO
DE LAS REDES MÁS COMUNES
Tecnología
T
Espacio de disco
Potencia de procesador
Cantidad de información
Número de paquetes por
transmitida por día
día
PP = EDD / 1500 Bytes
ADSL (256Kbits/s)
(32768 Bytes/s * 86400 s) /
1.887.436
1Gbyte = 2,6 Gbytes
ADSL (2Mbit/s)
21,09 Gbytes
15.099.494
LAN (10 Mbit/s)
105,4 Gbytes
75.497.472
LAN (100 Mbit/s
1054,6 Gbytes
754.974.720
WAN ATM (155 Mbit/s)
1634,7 Gbytes
1.170.210.816
LAN (1 Gbit/s)
10546,8 Gbytes
7.549.747.200
Elaboración:Gabriel VerdejoAlvarez
Fuente:<http://www.elrinconcito.com/articulos/SeguridadIP/SeguridadIP.pdf>
Toda esta cantidad de información debe ser almacenada de forma óptima para poder
ser consultada ágilmente. De otra forma, dejará de ser utilizada y por lo tanto de ser
útil.El problema de almacenar/recuperar información es un tema muy amplio que no
trataremos en este documento. Sin embargo sí comentaremos que últimamente muchos
productos IDS empiezan a incorporar soporte de bases de datos relacionales como
elementos importantes de soporte para sus sistemas de información (Oracle, SQL
Server, MySQL, PostgreSQL, etc.).
33
Sea cual sea el formato usado para el almacenamiento de la información debe cumplir
las siguientes características:
1. Debe realizar una reducción importante del volumen de datos pero
conservando la información importante.
2. Debe poseer un formato compacto, fácil de consultar, escribir y actualizar.
3. Debe permitir la interrelación (cruce) de todos los datos entre sí.
El formato TCP QUAD es una reducción compacta de la información contenida en los
paquetes IP que se basa en almacenar una cuádruple tupla que contiene los siguientes
campos:
(Fecha, Dirección origen, Dirección de destino, Tipo de protocolo)
El objetivo de almacenar históricos de tráficos de red es doble, por un lado poder
realizar informes y estadísticas sobre incidentes en nuestra red. Por otro lado nos
debepermitir conocer cuando un ataque presenta características similares (o iguales) a
otrorecibido anteriormente, ya que podemos obtener información de cómo reaccionar
ante él de forma proactiva (“en tiempo real”), evitando ser sujetos pasivos y
lamentarnos posteriormente.
Definiremos la correlación como la relación mutua entre dos o más elementos de un
conjunto dado. De esta forma, gran parte de las consultas a las bases de datos se
34
basarán únicamente en buscar correlaciones entre los eventos de interés detectados y
los datos históricos almacenados.

Correlaciones por dirección de origen: Se basan en encontrar similitudes
entre conexiones provenientes de la misma fuente (por ejemplo un escáner de
puertos a nuestra red detectará que desde el mismo origen se realizan miles de
peticiones a distintos puertos).

Correlaciones por dirección de destino: Considera las conexiones que tienen
como destino la misma dirección IP (por ejemplo un DOS. Tenemos miles de
peticiones hacia un mismo destino).

Correlaciones de firmas (craftedpackedsignatures): Se basan en buscar
conexiones desde/hacia un puerto determinado (muchos virus y programas de
backdoorbasan su comunicación en puertos no standards). También se buscan
configuraciones no estandards de los distintos campos del paquete IP, como
por ejemplo las banderas o flags(hay varios ataques de DOS que se basan en
activar todas las opciones de los datagramas IP para ver si el sistema operativo
no sabe como reaccionar ante ellos y queda inutilizado).

Correlaciones de contenidos: Estas correlaciones hacen referencia al
contenido (datos) de los distintos paquetes de información que circulan por la
35
red. Buscar patrones como “/etc/passwd” en conexiones TELNET o FTP,
inspeccionar
conexiones
HTTP
en
busca
de
“EXEC
C:\WINNT\COMMAND\FORMAT”.
Otras posibilidades que nos brinda la correlación es la de poder evaluar la importancia
(criticidad) de un posible incidente (ver gráfico 6)
GRÁFICO 6
EJEMPLOS DE TRAZAS PARA EVALUAR LA CRITICIDAD
Elaboración:Gabriel Verdejo Alvarez
Fuente:<http://www.elrinconcito.com/articulos/SeguridadIP/SeguridadIP.pdf>
Por ejemplo podemos observar la periodicidad de los paquetes recibidos, lo que nos
permite por ejemplo saber de que ancho de banda dispone el atacante “a priori”. Si es
una simple prueba rutinaria de un hacker “a ver que pesca” enviando peticiones muy
espaciadas en tiempo a distintos servicios y direcciones IP, o un ataque en toda regla a
un servidor concreto.
36
El sistema IDS debe permitir realizar estas consultas interactivamente al operador de
la consola para investigar libremente en las bases de datos. Además deben realizarse
de forma automática sólo para los eventos de interés de extrema criticidad, ya que el
proceso de correlación es muy lento y colapsaría el sistema, de forma que cuando
detectásemos el ataque ya sería demasiado tarde para actuar.
Existe una gran controversia en la bibliografía5sobre la cantidad de tiempo(semanas,
meses, años) que debemos tener almacenada en la base de datos del IDS para
poderrealizar
consultas
tanto
el
operador
como
el
propio
sistema
automáticamente.Obviamente, lo deseable sería tener todo el histórico de la red, sin
embargo debemos tener en cuenta que:

Más tiempo implica más espacio de disco (crecimiento exponencial).

Más tiempo implica una ralentización de las búsquedas (pérdida de eficiencia).

Más tiempo no implica necesariamente más seguridad.

En caso de necesitar la informática forense (computer forense) nuestro
histórico debe permitir la reconstrucción total de los actos sucedidos en la red.
Por lo que una solución propuesta aboga por una ventana de al menos tres meses. A
partir de esta fecha, los datos se deben “reducir” o “compactar” (mediante TCP QUAD
por ejemplo) para almacenarlos en otra base de datos de históricos. La normativa de la
5
http://www.nipc.gov/about/pdd63.htm
37
administración americana PDD63 establece una ventana de 72 a 96 horas dónde se
deben poder realizar trabajos de reconstrucción forense.
FALSOS POSITIVOS Y FALSOS NEGATIVOS
Un punto básico a tratar tras el análisis de las muestras obtenidas (eventos de interés)
de nuestra red es el de la detección de falsos positivos y falsos negativos.
“Un falso positivo (false positive) es un término aplicado a un fallo de detección en
un sistema de alertas (usualmente en sistemas antivirus o de detección de intrusos).
Sucede cuando se detecta la presencia de un virus o una intrusión en el sistema que
realmente no existe.”
“Un falso negativo (false negative) es un término que hace referencia a un fallo en el
sistema de alerta (usualmente en sistemas antivirus o de detección de intrusos).
Sucede cuando un virus o una intrusión existe en nuestro sistema y es 'permitida'
(ignorada o no detectada) por el sistema de alerta.”
Los falsos positivos pueden agruparse en cinco grupos dependiendo de la naturaleza
de su origen:

ReactionaryTrafficalarms.Se detecta un comportamiento sospechoso como
consecuencia de tráfico generado anteriormente (generalmente no malicioso).
38
Por ejemplo la detección de muchas respuestas “ICMP networkunrecheable”
procedentes de un router porque el equipo destino no se encuentra operativo o
accesible en esos momentos.

Equipment-relatedalarms.Las alarmas del NIDS detectan paquetes dentro del
tráfico de la red que identifica como no “usuales”. Esto puede ocurrir por
ejemplo con balanceadores de carga, puesto que generan paquetes específicos
para el control de todos los nodos.

ProtocolViolations.Estos avisos se producen por software mal programado
(bugs) o que implementan de forma incorrecta o anticuada algunas partes de
los protocolos de Internet.

True False Positives.Todos aquellos falsos positivos que no se encuadren en
ninguna de las categorías anteriores.

Non
Maliciousalarms.Alarmas
producidas
al
detectar
rastros
de
comportamientos maliciosos pero que en ese contexto determinado no lo son.
Si publicamos en nuestra página WWW el código de un virus analizándolo,
cada vez que una persona descargue la página creará una alerta en el IDS
porque detectará el virus en nuestra red.
39
Obviamente, nuestro sistema de detección de intrusos debe producir los mínimos
falsos positivos posibles y ningún falso negativo (porque con uno sólo, ya tenemos al
intruso en nuestro sistema, y toda la inversión en seguridad se vuelve inútil y de difícil
justificación).
Según Kevin Timm6, el 90% de las alarmas detectadas por sistemas de detección de
intrusos son falsos positivos, con lo que tan sólo el 10% son realmente peligrosas. Si
personalizamos el NIDS a nuestra red, generalmente con los sistemas convencionales
podemos llegar a reducir los falsos positivos a un 40% del total de alarmas.
Por otro lado, hemos de tener en cuenta que un IDS que reporte cientos de alertas
diarias dejará de ser útil y muy probablemente lleve a que alguna alerta verdadera sea
ignorada por los operarios entre tantos avisos.
En el gráfico7 podemos observar 9 peticiones de establecimiento de conexión en un
segundo procedentes de “maquina1.com” para “maquina2.es”. Generalmente y a priori
el IDS detectaría una masiva llegada de peticiones desde una misma dirección IP en un
lapso de tiempo corto: Estamos recibiendo un ataque!
6
Kevin Tim es un Ingeniero de Seguridad en NetSolve Inc. en Austin, Tx.
40
GRÁFICO 7
EJEMPLOS DE FALSO POSITIVO PARA SYN FLOOD
Elaboración:Gabriel Verdejo Alvarez
Fuente:<http://www.elrinconcito.com/articulos/SeguridadIP/SeguridadIP.pdf>
Esta conclusión que para la mayoría de casos es correcta (¿porqué nuestra
“maquina2.es” debe recibir tantas peticiones de conexión casi simultáneas?), no
siempre lo es de forma absoluta.
Si “maquina2.es” es por ejemplo un punto de entrada hacia nuestra red corporativa
puede pasar simplemente que a primera hora (09:09 horas) se conecten muchos
empleados para realizar su trabajo. Sin embargo, esto no explica que todas las
direcciones de origen sea la misma. ¿Por qué alguien se conectará 9 veces en un
segundo?
Un ejemplo práctico y real de falso positivo puede ser el uso de NAT (Network
AddressTranslation) en redes corporativas. Todas las máquinas de una misma red
realizan sus conexiones al exterior desde una única dirección IP.
41
Esta metodología se utiliza mucho por motivos de seguridad (DMZ por ejemplo),
económicos (es más barato una dirección IP que 10) o incluso técnicos (ADSL,
MODEM-cable).De esta forma, podemos observar que una situación potencialmente
peligrosa puede simplemente ser un uso normal de los recursos de red.
En la actualidad y debido a la política de todos los ISP de tecnologías domésticas de
conexión a Internet (ADSL, Cable…) se están implementando “proxys” automáticos
de acceso para contenido HTTP7. De esta forma, las peticiones de cualquier usuario de
ADSL a un servidor WWW son automáticamente redireccionadas al PROXY de su
proveedor de conexión.
Los ejemplos de falsos negativos son mucho más complicados de encontrar en
bibliografía y exponer en este escrito, ya que implicaría que alguien consiguió un
acceso no autorizado a una red “segura” y a nadie le hace gracia reconocer esto
“públicamente” (muchas veces no se reconoce ni en privado). Generalmente, los
falsos negativos suelen producirse por:

Configuración deficiente de los recursos de la red.Tener varios elementos de
seguridad (IDS, firewalls, VPN, etc.) no es suficiente para considerar nuestra
red segura. Estos deben estar convenientemente configurados y adaptados a su
medio (el tráfico de las redes no es estático y varía).
7
http://www.squid-cache.org/
42

Ataques desde dentro. Muchas veces se obvia un uso pernicioso de los
recursos de nuestra red desde dentro. El atacante no siempre es un hacker de un
país extraño que se dedica a hacer el mal a quien puede. Tener controles
internos también permitirá detectar programas o troyanos encargados de
facilitar acceso desde dentro a posibles atacantes.

Equipos no parcheados y víctimas de los últimos “exploits”. Tener
servidores con versiones de software anticuadas son un reclamo excesivamente
apetitoso y que ningún sistema de seguridad puede proteger.
TIPOS DE ATAQUES
A la hora de estudiar los distintos tipos de ataques informáticos, podríamos diferenciar
en primer lugar entre los ataques activos, que producen cambios en la información y
en la situación de los recursos del sistema, y los ataques pasivos, que se limitan a
registrar el uso de los recursos y/o a acceder a la información guardada o transmitida
por el sistema.
Seguidamente se presenta una relación más detallada de los principales tipos de
ataques contra redes y sistemas informáticos
43
ATAQUES DE DENEGACIÓN DE SERVICIO
.
Un ataque de denegación de servicio es un incidente en el cual un usuario o una
organización es privada de los servicios de un recurso que esperaba obtener.
Normalmente, la pérdida de servicio se corresponde con la imposibilidad de obtener
un determinado servicio de red como, por ejemplo, el acceso a una página web.
“Definimos denegación de servicio como la imposibilidad de acceder a un recurso o
servicio por parte de un usuario legítimo. Es decir, la apropiación exclusiva de un
recurso o servicio con la intención de evitar cualquier acceso a terceras partes.”
De forma más restrictiva, se pueden definir los ataques de denegación de servicio en
redes IP como la consecución total o parcial del cese de la prestación de servicio de un
equipo conectado a la red.
Los ataques de denegación de servicio pueden ser provocados tanto por usuarios
internos en el sistema como por usuarios externos. Dentro del primer grupo podríamos
pensar en usuarios con pocos conocimientos que pueden colapsar el sistema o servicio
inconscientemente. Por ejemplo, usuarios que abusan de los recursos del sistema,
ocupando mucho ancho de banda en la búsqueda de archivos de música o de películas,
usuarios malintencionados que aprovechan su acceso al sistema para causar problemas
de forma premeditada, etc.En el segundo grupo se encuentran aquellos usuarios que
44
han conseguido un acceso alsistema de forma ilegítima, falseando además la dirección
de origen con el propósito de evitar la detección del origen real del ataque (mediante
ataques de suplantación).
El peligro de los ataques de denegación de servicio viene dado por su independencia
de plataforma. Como sabemos, el protocolo IP permite una comunicación homogénea
(independiente del tipo de ordenador o fabricante) a través de espacios heterogéneos
(redes Ethernet, ATM, etc.). De esta forma, un ataque exitoso contra el protocolo IP se
convierte inmediatamente en una amenaza real para todos los equipos conectados a la
red, independientemente de la plataforma que utilicen.
A continuación se realizara una exposición sobre algunos de los ataques de denegación
de servicio más representativos.
IP FLOODING
.
El ataque de IP Floodingse basa en una inundación masiva de la red mediante
datagramas IP. Este ataque se realiza habitualmente en redes locales o en conexiones
con un gran ancho de banda. Consiste en la generación de tráfico basura con el
objetivo de conseguir la degradación del servicio. De esta forma, se resume el ancho
de banda disponible, ralentizando las comunicaciones existentes de toda la red.
45
GRÁFICO 8
ATAQUE IP FLOODING
Elaboración:Joaquín García Alfaro
Fuente:<http://revistaenter.net/biblia/012.1%20Aspectos%20avanzados%20en%20se
guridad%20en%20redes%20modulos.pdf>
Podemos pensar en la utilización de este ataque principalmente en redes locales cuyo
control de acceso al medio es nulo y cualquier máquina puede ponerse a enviar y
recibir paquetes sin que se establezca ningún tipo de limitación en el ancho de banda
que consume.
El tráfico generado en este tipo de ataque puede ser:

Aleatorio. Cuando la dirección de origen o destino del paquete IP es ficticia o
falsa. Este tipo de ataque es el más básico y simplemente busca degradar el
servicio de comunicación del segmento de red al que está conectado el
ordenador responsable del ataque.
46

Definido o dirigido. Cuando la dirección de origen, destino, o incluso ambas,
es la de la máquina que recibe el ataque. El objetivo de este ataque es doble, ya
que además de dejar fuera de servicio la red donde el atacante genera los
datagramas IP, también tratará de colapsar al equipo de destino, sea reduciendo
el ancho de banda disponible, o bien saturando su servicio ante una gran
cantidad de peticiones que el servidor será incapaz de procesar.
Los datagramas IP utilizados podrían corresponder a:

UDP. Con el objetivo de generar peticiones sin conexión a ninguno de los
puertos disponibles. Según la implementación de la pila TCP/IP de las
máquinas involucradas, las peticiones masivas a puertos específicos UDP
pueden llegar a causar el colapso del sistema.

ICMP. Generando mensajes de error o de control de flujo.

TCP. Para generar peticiones de conexión con el objetivo de saturar los
recursos de red de la máquina atacada.
Una variante del IP Flooding tradicional consiste en la utilización de la dirección de
difusión de la red como dirección de destino de los datagramas IP. De esta forma, el
47
encaminador de la red se verá obligado a enviar el paquete a todos los ordenadores de
la misma, consumiendo ancho de banda y degradando el rendimiento del servicio.
También existen otras variantes en las que se envían peticiones ICMP de tipo echorequest a varios ordenadores suplantando la dirección IP de origen, sustituida por la
dirección de difusión (broadcast) de la red que se quiere atacar. De esta forma, todas
las respuestas individuales se ven amplificadas y propagadas a todos los ordenadores
conectados a la red.
El siguiente gráfico representa este tipo de escenario:
GRÁFICO 9
ATAQUE BROADCAST IP FLOODING
Elaboración:Joaquín García Alfaro
Fuente:<http://revistaenter.net/biblia/012.1%20Aspectos%20avanzados%20en%20se
guridad%20en%20redes%20modulos.pdf>
48
SMURF
Este tipo de ataque de denegación de servicio es una variante del ataque anterior (IP
Flooding), pero realizando una suplantación de las direcciones de origen y destino de
una petición ICMP del tipo echo-request.
Como dirección de origen se pone la dirección IP de la máquina que debe ser atacada.
En el campo de la dirección IP de destino se pone la dirección de difusión de la red
local o red que se utilizará como trampolín para colapsar a la víctima.
El siguiente gráfico representa este tipo de escenario:
GRÁFICO 10
ATAQUE SMURF
Elaboración:Joaquín García Alfaro
Fuente:<http://revistaenter.net/biblia/012.1%20Aspectos%20avanzados%20en%20se
guridad%20en%20redes%20modulos.pdf>
49
Con esta petición fraudulenta, se consigue que todas las máquinas de la red respondan
a la vez a una misma máquina, consumiendo todo el ancho de banda disponible y
saturando el ordenador atacado.
TCP/SYN FLOODING
Como ya hemos visto anteriormente, algunos de los ataques y técnicas de exploración
que se utilizan en la actualidad se basan en no complementar intencionadamente el
protocolo de intercambio del TCP. Esta debilidad del protocolo TCP proviene de las
primeras implementaciones de las pilas TCP.
Cada vez que se procesa una conexión, deben crearse datagramas IP para almacenar la
información necesaria para el funcionamiento del protocolo. Esto puede llegar a
ocupar mucha memoria. Como la memoria del equipo es finita, es necesario imponer
restricciones sobre el número de conexiones que un equipo podrá aceptar antes de
quedarse sin recursos.
El ataque de TCP/SYNFloodingse aprovecha del número de conexiones que están
esperando para establecer un servicio en particular para conseguir la denegación del
servicio.
50
Cuando un atacante configura una inundación de paquetes SYN de TCP, no tiene
ninguna intención de complementar el protocolo de intercambio, ni de establecer la
conexión. Su objetivo es exceder los límites establecidos para el número de
conexiones que están a la espera de establecerse para un servicio dado.
Esto puede hacer que el sistema que es víctima del ataque sea incapaz de establecer
cualquier conexión adicional para este servicio hasta que las conexiones que estén a la
espera bajen el umbral.
Hasta que se llegue a este límite, cada paquete SYN genera un SYN/ACK que
permanecerá en la cola a la espera de establecerse. Es decir, cada conexión tiene un
temporizador (un límite para el tiempo que el sistema espera, el establecimiento de la
conexión) que tiende a configurarse en un minuto.
Cuando se excede el límite de tiempo, se libera la memoria que mantiene el estado de
esta conexión y la cuenta de la cola de servicios disminuye en una unidad. Después de
alcanzar el límite, puede mantenerse completa la cola de servicios, evitando que el
sistema establezca nuevas conexiones en este puerto con nuevos paquetes SYN.
Dado que el único propósito de la técnica es inundar la cola, no tiene ningún sentido
utilizar la dirección IP real del atacante, ni tampoco devolver los SYN/ACK, puesto
que de esta forma facilitaría que alguien pudiera llegar hasta él siguiendo la conexión.
51
Por lo tanto, normalmente se falsea la dirección de origen del paquete, modificando
para ello la cabecera IP de los paquetes que intervendrán en el ataque de una
inundación SYN.
TEARDROP
El protocolo IP especifica unos campos en la cabecera encargados de señalar si el
datagrama IP está fragmentado (forma parte de un paquete mayor) y la posición que
ocupa dentro del datagrama original.
En el campo de indicadores de TCP encontramos el indicador de más fragmentos que
indica si el paquete recibido es un fragmento de un datagrama mayor. Por otra parte, el
campo de identificación del datagrama especifica la posición del fragmento en el
datagrama original.
El ataque Teardropintentará realizar una utilización fraudulenta de la fragmentación
IP para poder confundir al sistema operativo en la reconstrucción del datagrama
original y colapsar así el sistema.
Supongamos que deseamos enviar un fichero de 1024 bytes a una red con un MTU
(Maxim Transfer Unit) de 512 bytes. Será suficiente enviar dos fragmentos de 512
bytes. (ver cuadro 3).
52
CUADRO No. 3
FRAGMENTACIÓN CORRECTA
Posición
Longitud
Fragmento 1
0
512
Fragmento 2
512
512
Elaboración:Propia del autor del presente trabajo
Fuente:<http://revistaenter.net/biblia/012.1%20Aspectos%20avanzados%20en%20se
guridad%20en%20redes%20modulos.pdf>
El objetivo de Teardropserá realizar las modificaciones necesarias en los campos de
posición y longitud para introducir incoherencias cuando se produzca la
reconstrucción del datagrama original (ver cuadro 4)
CUADRO No. 4
FRAGMENTACIÓN INCORRECTA
Posición
Longitud
Fragmento 1
0
512
Fragmento 2
500
512
……….
……….
10
100
……….
Fragmento N
Elaboración:Propia del autor del presente trabajo
Fuente:<http://revistaenter.net/biblia/012.1%20Aspectos%20avanzados%20en%20se
guridad%20en%20redes%20modulos.pdf>
53
De esta forma, Teardropy sus variantes directas conseguirán que el datagrama se
sobrescriba y produzca un error de buffer-overrunal ser reensamblado.Otra posibilidad
consiste en enviar centenares de fragmentos modificados malintencionadamente, con
el objetivo de saturar la pila de protocolo IP del equipo atacado (a causa de una
superposición de distintos datagramas IP).
SNORK
.
El ataque Snorkse basa en una utilización malintencionada de dos servicios típicos en
sistemas Unix: el servicio CHARGEN (CHARacterGENerator, generador de
caracteres) y el servicio ECHO.
El primer servicio se limita a responder con una secuencia aleatoria de caracteres a las
peticiones que recibe. El segundo servicio, ECHO, se utiliza como sistema de pruebas
para verificar el funcionamiento del protocolo IP.
Así, esta denegación de servicio se basa en el envío de un datagrama especial al
ordenador de destino, que una vez reconocido, enviará una respuesta al equipo de
origen.
54
GRÁFICO 11
ATAQUE SNORK
Elaboración:Joaquín García Alfaro
Fuente:<http://revistaenter.net/biblia/012.1%20Aspectos%20avanzados%20en%20se
guridad%20en%20redes%20modulos.pdf>
El ataque Snorkconsiste en el cruce de los servicios ECHO y CHARGEN, mediante el
envío de una petición falsa al servicio CHARGEN, habiendo colocado previamente
como dirección de origen la dirección IP de la máquina que hay que atacar (con el
puerto del servicio ECHO como puerto de respuesta). De esta forma, se inicia un juego
de ping-pong infinito.
55
Este ataque se puede realizar con distintos pares de equipos de la red obteniendo un
consumo masivo de ancho de banda hasta degradar el rendimiento de la misma.
También se puede realizar contra una misma máquina (ella misma se envía una
petición y su respuesta) consiguiendo consumir los recursos (especialmente CPU y
memoria) de este equipo.
PING OF DEATH
El ataque de denegación de servicio “ping de la muerte” (ping of death) fue uno de los
ataques más conocidos y que más artículos de prensa generó. Al igual que otros
ataques de denegación existentes, utiliza una definición de longitud máxima de
datagrama IP fraudulenta.
La longitud máxima de un datagrama IP es de 65535 bytes, incluyendo la cabecera del
paquete (20 bytes) y partiendo de la base de que no hay opciones especiales
especificadas. Por otra parte, recordemos que el protocolo ICMP tiene una cabecera de
8 bytes. De esta forma, si queremos construir un mensaje ICMP tenemos disponibles
65535 - 20 - 8 = 65507 bytes.
Debido a la posibilidad de fragmentación de IP, si es necesario enviar más de 65535
bytes, el datagrama IP se fragmentará y se reensamblará en el destino con los
mecanismos comentados anteriormente.
56
El ataque ping de la muerte se basa en la posibilidad de construir, mediante el
comando ping, un datagrama IP superior a los 65535 bytes, fragmentado en N trozos,
con el objetivo de provocar incoherencias en el proceso de reensamblado.
Si, por ejemplo, construimos un mensaje ICMP de tipo echo-request de 65510 bytes
mediante el comando ping -s 65510, los datos ICMP podrán ser enviados en un único
paquete fragmentado en N trozos (según la MTU de la red), pero pertenecientes al
mismo datagrama IP. Si hacemos la suma de los distintos campos del datagrama,
veremos que los 20 bytes de cabecera IP más los 8 bytes de cabecera ICMP, junto con
los datos ICMP (65510 bytes) ocuparán 65538 bytes. De esta forma, el ataque
consigue provocar un desbordamiento de 3 bytes. Este hecho provocará que al
reconstruir el paquete original en el destino, se producirán errores que, si existen
deficiencias en la implementación de la pila TCP/IP del sistema, podrían causar la
degradación total del sistema atacado.
Este exploit ha afectado a la mayoría de Sistemas Operativos, como Unix, Linux, Mac,
Windows, impresoras, y los routers. No obstante la mayoría de los sistemas operativos
desde 1997-1998 han arreglado este problema, por lo que el fallo está solucionado.
57
ATAQUES DISTRIBUIDOS (DDOS)
Un ataque de denegación de servicio distribuido es aquél en el que una multitud de
sistemas (que previamente han sido comprometidos) cooperan entre ellos para atacar a
un equipo objetivo, causándole una denegación de servicio. El flujo de mensajes de
entrada que padece el equipo atacado le dejará sin recursos y será incapaz de ofrecer
sus servicios a usuarios legítimos.
GRÁFICO 12
ATAQUE TÍPICO DE DDOS
Elaboración:Gabriel Verdejo Alvarez
Fuente:<http://www.elrinconcito.com/articulos/SeguridadIP/SeguridadIP.pdf>
Así pues, podemos definir los ataques de denegación de servicio distribuidos como un
ataque de denegación de servicio en el que existen múltiples equipos sincronizados de
forma distribuida que se unen para atacar un mismo objetivo.
58
A continuación veremos algunos de los ataques de denegación de servicio distribuidos
más representativos, prestando especial atención tanto a su evolución histórica, como
al modelo distribuido de las fuentes que realizan el ataque, su sincronización y la
forma en la que realizan la denegación de servicio.
TRIN00
TRIN00 es un conjunto de herramientas master-slaveutilizadas para sincronizar
distintos equipos que cooperarán, de forma distribuida, en la realización de una
denegación de servicio. Las primeras implementaciones de TRIN00 fueron
implementadas únicamente para sistemas Sun Solaris (en los que se produjeron los
primeros ataques conocidos).
El primer paso para realizar un ataque con TRIN00 consiste en la instalación de las
herramientas en los equipos desde los que partirá el ataque. Para ello, el atacante
necesitará obtener privilegios de administrador en estos equipos (que habrá
conseguido mediante técnicas de sniffing, explotación de servicios, etc.). Estos
sistemas deberían ser equipos interconectados en grandes redes corporativas con un
gran ancho de banda y en los que el origen del ataque pudiera pasar desapercibido
entre cientos o millares de sistemas dentro la misma red. El atacante tratará de realizar
un ataque de intrusión a un primer equipo de estas redes, desde donde continuará con
59
la búsqueda de nuevos equipos vulnerables y procederá a su infección de igual manera
como se realizó con el primer equipo.
Para realizar las intrusiones, el atacante llevará a cabo una búsqueda de
vulnerabilidades en los equipos existentes en la red, generando una lista de equipos
potencialmente débiles en los que tratará de introducirse y ejecutar las herramientas
necesarias para provocar la escalada de privilegios.
Desde el primer equipo infectado por TRIN00, el atacante tratará de distribuir las
herramientas a cada una de las demás máquinas infectadas. También se encargará de la
ejecución de tareas periódicas para tratar de esconder los rastros de la intrusión que
puedan delatar la entrada en el sistema y la detección del origen del ataque.
En el siguiente gráfico podemos observar el diagrama de tres capas que conforma un
ataque ejecutado mediante TRIN00. Vemos cómo a partir de un único ordenador, el
atacante podrá llegar a obtener toda una red de equipos a su disposición para la
realización del ataque distribuido.
60
GRÁFICO 13
ATAQUE TRIN00
Elaboración:Joaquín García Alfaro
Fuente:<http://revistaenter.net/biblia/012.1%20Aspectos%20avanzados%20en%20se
guridad%20en%20redes%20modulos.pdf>
La comunicación entre las distintas capas se realiza mediante conexiones TCP
(fiables) para la parte atacante-master, y conexiones UDP (no fiables) para la parte
master-slavey slave-master, en puertos específicos de cada máquina.
.
La comunicación siempre se inicia con la transmisión de una contraseña. Esto permite
que ni el administrador del equipo ni el de otros atacantes puedan acceder al control de
la red de ataques de TRIN00.
61
Los demonios de TRIN00 situados en los equipos master y slavepermiten la ejecución
de comandos para iniciar, controlar y detener ataques de denegación tradicionales
como ICMP Flooding, SYN Flooding, UDP Flooding, Smurf, etc. Para acceder a estos
comandos, el atacante realizará una conexión Telnet en el puerto especificado en el
siguiente esquema:
CUADRO No. 5
ESQUEMA DE COMUNICACIONES DE TRIN00
Atacante
Atacante
Master
27665/TCP
27444/UDP
Master
Slave
Slave
31335/UDP
Elaboración:Propia del autor del presente trabajo
Fuente:
<http://revistaenter.net/biblia/012.1%20Aspectos%20avanzados%20en%20seguridad
%20en%20redes%20modulos.pdf>
TRIBE FLOOD NETWORK
TribeFlood Network (TFN) es otra de las herramientas existentes para realizar ataques
de denegación de servicio distribuidos que utiliza un esquema master-slavepara
coordinar ataques de denegación tradicionales (ICMP Flooding, SYN Flooding, UDP
Floodingy Smurf). Al igual que TRIN00, permite dejar abierta una consola de
62
administración a la máquina de origen (escuchando por un puerto TCP determinado)
ofreciendo un acceso ilimitado a los equipos infectados.
.La arquitectura de funcionamiento del TFN es muy parecida a la de TRIN00. Una de
las pocas diferencias la encontramos en la parte de clientes (respecto a los Masters del
esquema de TRIN00) y la parte de demonios (respeto a los Slavesde TRIN00). De
forma análoga, un atacante controla a uno o más clientes que a su vez, controlan a uno
o más demonios.
El control de la red TFN se consigue mediante la ejecución directa de comandos
utilizando conexiones cliente-servidor basadas en paquetes ICMP de tipo echo-reply.
.
La comunicación para el envío de comandos se realiza mediante un número binario de
16 bits en el campo de identificación de mensajes ICMP de tipo echo. El número de
secuencia es una constante 0x0000 para enmascarar el mensaje ICMP como si fuera a
una petición echo-request y pasar así desapercibido en el caso de existir en la red
mecanismos de detección de ataques.
Este cambio en la comunicación, respecto a TRIN00, se debe a que muchos sistemas
de monitorización para la protección de redes (dispositivos cortafuegos, sistemas de
detección de intrusos, etc.) pueden filtrar tráfico TCP y UDP que va hacia puertos
determinados.
63
No obstante, la mayoría de sistemas dejan pasar mensajes ICMP de tipo echo
utilizados para utilizar el comando ping y realizar así verificaciones de los equipos
activos en la red. Además, pocas herramientas de red muestran adecuadamente los
mensajes ICMP, lo cual permite un camuflaje perfecto entre el tráfico normal de la
red.
Otra diferencia respeto a TRIN00 es que los clientes de TFN no están protegidos por
contraseñas de acceso, con lo cual puede ser ejecutado sin restricciones por otros
usuarios una vez instalado.
SHAFT
Otro conjunto de herramientas derivado de los dos anteriores (TRIN00 y TFN) es
Shaft. La jerarquía utilizada por Shaftes similar a las demás herramientas analizadas.
Una vez más, se basa en varios masters (denominados ahora Shaftmasters) que
gobiernan a su vez diversos slaves(Shaftnodes).
Al igual que en los otros esquemas, el atacante se conecta mediante un programa
cliente a los Shaftmastersdesde donde inicia, controla y finaliza los ataques
distribuidos.
64
Shaftutiliza mensajes UDP para transmitir información entre los Shaftmastersy los
Shaftnodes. Por otra parte, el atacante se conecta vía Telnet a un Shaftmasterutilizando
una conexión fiable mediante TCP. Una vez conectado, utilizará una contraseña para
autorizar su acceso.
CUADRO No. 6
ESQUEMA DE COMUNICACIONES DE SHAFT
Atacante
Atacante
ShaftMaster
20432/TCP
18753/UDP
ShaftMaster
ShaftNode
ShaftNode
20433/UDP
Elaboración:Propia del autor del presente trabajo
Fuente:<http://revistaenter.net/biblia/012.1%20Aspectos%20avanzados%20en%20se
guridad%20en%20redes%20modulos.pdf>
La comunicación entre Shaftmastersy Shaftnodesse realiza mediante UDP (que no es
fiable). Por este motivo, Shaft utiliza tickets para poder mantener ordenada la
comunicación y asignar a cada paquete una orden de secuencia.
La combinación de contraseñas y tickets es utilizada por los Shaftmasterspara
transmitir las órdenes hacia a los Shaftnodes, que a su vez verificarán que sean
correctas.
65
TRIBE FLOOD NETWORK 2000
El TFN2K es la revisión de la herramienta TFN que permite lanzar ataques de
denegación de servicio distribuido contra cualquier máquina conectada a Internet.
La arquitectura básica en la que existe un atacante que utiliza clientes para gobernarlos
distintos demonios instalados en las máquinas infectadas se mantiene, de forma que el
control de este tipo de ataques mantiene la premisa de tener el máximo número de
ordenadores segmentados. De esta forma, si un cliente es neutralizado, el resto de la
red continúa bajo control. Aun así, TribeFlood Network 2000 (TFN2K) añade una
serie de características adicionales, de entre las que destacamos las siguientes:

La comunicación master-slavese realizan ahora mediante protocolos TCP,
UDP, ICMP o los tres a la vez de forma aleatoria.

Los ataques continúan siendo los mismos (ICMP Flooding, UDP Flooding,
SYN Floodingy Smurf). Aun así, el demonio se puede programar para que
alterne entre estos cuatro tipos de ataque, para dificultar la detección por parte
de sistemas de monitorización en la red.

Las cabeceras de los paquetes de comunicación master-slaveson ahora
aleatorias, excepto en el caso de ICMP (donde siempre se utilizan mensajes de
66
tipo echo-reply). De esta forma se evitaría una detección mediante patrones de
comportamiento.

Todos los comandos van cifrados. La clave se define en tiempo de compilación
y se utiliza como contraseña para acceder al cliente.

Cada demonio genera un proceso hijo por ataque, tratando de diferenciarse
entre sí a través de los argumentos y parámetros que se pasan en el momento
de ejecución. Además, se altera su nombre de proceso para hacerlo pasar por
un proceso más del sistema.
EJEMPLO DE ATAQUE DDOS
Al finalizar de dar un repaso a los diferentes tipos de ataques que se pueden dar en un
sistema, reflejaremos un ataque real de DDOS sufrido en un famoso de seguridad
denominado GRC.COM.
La justificación del porquése analiza este ataque en el capítulo, viene dada por dos
factores:
1. Pese a que los ataques de denegación de servicio son muy abundantes y hay
gran constancia de ellos, la información disponible sobre estos ataques suele
67
ser mínima, reduciéndose a pequeñas notas en organismos como el CERT o
boletines electrónicos como SECURITYFOCUS y grandes titulares de prensa
o televisión con más contenido peliculero que realidad técnica. En este caso
concreto, existe un detallado análisis disponible de forma pública que
disecciona perfectamente el ataque recibido.
2. Como se ha podido comprobar, los ataques DDOS suelen ser una
generalización de los ataques DOS, con lo que un ejemplo de ataque
distribuido es suficientemente complejo como para obtener una idea de cómo
funcionan realmente.
El 11 de enero de 2002 a las 02:00 a.m. (US Pacific time) el servidor
WWW.GRC.COM fue atacado mediante una inundación masiva de paquetes de
petición
de
conexión
(TCP
SYN
Flood)
utilizando
la
técnica
DRDOS
(DistributedReflectionDenial Of Service).
De repente, las dos conexiones T1 (1.5Mbits/s) mostraron un tráfico de salida nulo, ya
que el servidor WWW era incapaz de completar una petición de conexión y servir
contenidos. Sin embargo, el tráfico registrado en las conexiones de red era de casi el
100% de su capacidad 2 x T1 (ver cuadro 7).
68
Analizando los paquetes recibidos de los ISP QWEST, Verio y Above.net no se
observa ninguna anomalía y parecen paquetes TCP SYN/ACK legítimas hacia el
puerto 80 de GRC.COM dando como puerto de origen de la petición el 179.
Cabe destacar que todas las peticiones provienen de ISP (Internet Serviceprovider), es
decir, organizaciones con conexiones a Internet de un gran ancho de banda, lo que
permite una gran capacidad de generación de tráfico.
CUADRO No. 7
ANALISIS REAL DE LOS PAQUETES 179/TCP SYN RECIBIDOS
Dirección IP
129.250. 28. 1
129.250. 28. 3
129.250. 28. 20
205.171. 31. 1
205.171. 31. 2
205.171. 31. 5
206. 79. 9. 2
206. 79. 9.114
206. 79. 9.210
208.184.232. 13
208.184.232. 17
208.184.232. 21
208.184.232. 25
Nombre DNS
Ge-6-2-0.r03.sttlwa01.us.bb.verio.net
ge-1-0-0.a07.sttlwa01.us.ra.verio.net
ge-0-1-0.a12.sttlwa01.us.ra.verio.net
iah-core-01.inet.qwest.net
iah-core-02.inet.qwest.net
iah-core-01.inet.qwest.net
globalcrossing-px.exodus.net
exds-wlhm.gblx.net
telefonica-px.exodus.net
core1-atl4-oc48-2.atl2.above.net
core2-atl4-oc48.atl2.above.net
core1-atl4-oc48.atl2.above.net
core2-core1-oc48.atl2.above.net
Elaboración:Propia del autor del presente trabajo
Fuente:<http://www.elrinconcito.com/articulos/SeguridadIP/SeguridadIP.pdf>
El puerto 179 es el destinado al servicio BGP (Border Gateway Protocol) que permite
que diferentes sistemas autónomos se comuniquen e intercambien sus tablas de
69
ruteado (routingtables) para conocer que redes/ordenadores tienen accesibles en cada
momento.
Muchos sistemas troncales conectados a Internet admiten conexiones al puerto
179/TCP para el intercambio de tablas de ruteado con otros sistemas mediante el
protocolo BGP.
En el gráfico 14 podemos observar cómo se produce un ataque de DDOS indirecto
utilizando un servicio existente de forma correcta pero falseando la dirección de
origen:
1. Se crea la infraestructura necesaria para el DDOS (instalación de los
ordenadores master/slaves).
2. Inicio del ataque DDOS consistente en enviar desde los esclavos miles de
peticiones “correctas” de conexión TCP al puerto 179 a diferentes ISP. Se
falsea la dirección de origen de la petición y el puerto, colocando la dirección
IP de la víctima.
3. Obtención de cientos de miles de respuestas de los distintos ISP que
bloquearán todo el ancho de banda del servidor WWW atacado.
70
GRÁFICO 14
ESQUEMA DEL ATAQUE DRDOS
Elaboración:Gabriel Verdejo Alvarez
Fuente:<http://www.elrinconcito.com/articulos/SeguridadIP/SeguridadIP.pdf>
Una vez conocida la arquitectura del ataque, comenta Steve Gibson que tardó más de
tres horas en conseguir que su propio ISP (con servicio 24x7) bloqueara todos los
paquetes de conexiones que provenían del puerto 179/TCP.Una vez conseguido el
bloqueo del trafico proveniente del puerto 179/TCP, el servidor WWW continuó sin
estar operativo debido a otros ataques de inundación de paquetes (TCP/UDP Flood) a
los puertos 22/TCP (SSH), 23/TCP (TELNET), 53/UDP (DNS), 80/TCP (WWW),
4001/TCP (Proxy), 6668/UDP (IRC).
71
La explicación dada a que inmediatamente después de bloquear el primer ataque
continuara atacado el WWW es que este segundo ataque se lanzó simultáneamente con
el primero, sin embargo, debido a que el primero proviene de ISPs con una gran
capacidad de ancho de banda, habían enmascarado el segundo.
A continuación en el cuadro 8se pueden observar algunas muestras tomadas de las
peticiones de TCP SYN Floodobtenidas del segundo ataque. Se puede observar que
muchas de ellas provienen de ordenadores conectados a redes que tienen grandes
conexiones a Internet (.nasa.gov o .yahoo.com)
CUADRO No. 8
ANALISIS REAL DE LOS PAQUETES DEL SEGUNDO ATAQUE
Dirección IP
64.152.4.80
128.121.223.161
131.103.248.119
164.109. 18.251
171. 64. 14.238
205.205.134.1
206.222.179.216
208. 47.125. 33
216. 34. 13.245
216.111.239.132
216.115.102. 75
216.115.102. 76
216.115.102. 77
216.115.102. 78
216.115.102. 79
Nombre DNS
www.wwfsuperstars.com
veriowebsites.com
www.cc.rapidsite.net
whalenstoddard.com
www4.Stanford.edu
shell1.novalinktech.net
forsale.txic.net
gary7.nsa.gov
channelserver.namezero.com
www.jeah.net
w3.snv.yahoo.com
w4.snv.yahoo.com
w5.snv.yahoo.com
w6.snv.yahoo.com
w7.snv.yahoo.com
Elaboración:Propia del autor del presente trabajo
Fuente:<http://www.elrinconcito.com/articulos/SeguridadIP/SeguridadIP.pdf>
72
Después de aplicar los filtros correspondientes, el ISP de GRC.COM (Verio) descartó
un total de 1.072.519.399 paquetes maliciosos de TCP SYN Flood.
SNORT
Snort es un sistema de detección de intrusiones de red (NIDS) activo (que
puede ejecutar acciones de respuesta), el cual implementa un motor de detección
de ataques y barridos de puertos el cual permite registrar, alertar y reaccionar ante
algún intento de ataque.
La primera aproximación de Snort fue APE, un programa para Linux escrito
enNoviembre de 1998, por MartyRoesch. Este programa tenía carencias como la falta
decapacidad para trabajar en múltiples sistemas operativos o la de mostrar todos los
tipos depaquetes del mismo modo.
Fue en Diciembre de 1998, cuando MartyRoesch creó la primera versión de
Snort(Snort-0.96), que ya estaba desarrollada con libcap, lo que la dotaba de una gran
portabilidad.Esta primera versión era sólo un sniffer de paquetes y no tenía las
capacidades reales de unIDS/IPS. Sin embargo, a partir de aquí, se han ido sucediendo
numerosas versiones de Snort quehan hecho de esta herramienta una de las más
importantes en la seguridad software.
73
Disponible bajo licencia GPL tanto para plataformas Linux y Windows, implementa el
uso de una gran cantidad de patronesy filtros para detectar posibles ataqueso
vulnerabilidades. Esta herramienta es muy común encontrarla implementada con
componentes como para almacenamiento de eventos y BASE para ver y analizar
luego los datos desde una interfaz web.
Snort utiliza reglas escritasen un lenguaje sencillo, almacenadas en archivos de texto
yagrupadas por categorías.Muchas de estas reglas son incluidas en la versión inicial
de Snort y se puedenhabilitaro ignorar desde el archivo snort.conf.
COMPONENTES DE SNORT
Antes de iniciar la instalación y configuración de Snort es importante conocer
loselementos que lo componen. Tal y como muestra el gráfico 15, los elementos que
componen elesquema básico de su arquitectura son:

Módulo de captura del tráfico. Es el encargado de capturar todos los
paquetes de lared utilizando la librería libpcap.

Decodificador. Se encarga de formar las estructuras de datos con los
paquetescapturados e identificar los protocolos de enlace, de red, etc.
74

Preprocesadores. Permiten extender las funcionalidades preparando los datos
para ladetección. Existen diferentes tipos de preprocesadores dependiendo del
tráfico quequeremos analizar (por ejemplo, existen los preprocesadores http,
telnet).
GRÁFICO 15
ARQUITECTURA DE SNORT
Elaboración:Carlos Jiménez Galindo
Fuente:<http://www.adminso.es/images/8/88/PFC_carlos.pdf>

Motor de Detección. Analiza los paquetes en base a las reglas definidas para
detectarlos ataques.
75

Archivo de Reglas. Definen el conjunto de reglas que regirán el análisis de los
paquetes detectados.

Plugins de detección. Partes del software que son compilados con Snort y se
usan paramodificar el motor de detección.

Plugins de salida. Permiten definir qué, cómo y dónde se guardan las alertas y
loscorrespondientes paquetes de red que las generaron. Pueden ser archivos de
texto, basesde datos, servidor syslog, etc.
Seguidamente se describirán cada uno de los elementos que componen Snort:
MÓDULO DE CAPTURA DE DATOS
El módulo de captura de paquetes del sensor se encarga, tal y como su propio
nombreindica, de realizar la captura del tráfico que circula por la red, aprovechando
almáximo losrecursos de procesamiento y minimizando por tanto la pérdida de
paquetes a tasas de inyecciónelevadas.
Para que los preprocesadores y posteriormente el motor de detección puedan
conseguirpaquetes se deben realizar algunas tareas previas. Snort no tiene ninguna
facilidad nativa depaquetes aún; por lo que requiere de una biblioteca de sniffing de
76
paquetes externa: libpcap.Libpcap fue escogida para la captura de paquetes por su
independencia de plataforma. Puede sercontrolada sobre todas las combinaciones de
hardware y S.O.; e incluso sobre WIN32 conwinpcap.
Debido a que Snort usa la biblioteca libpcap para capturar paquetes por la red,
puedeutilizar su transportabilidad para ser instalado en casi todas partes. La utilización
de libpcaphace que Snort tenga un uso realmente independiente de plataforma.
La responsabilidad de capturar paquetes directamente de la tarjeta de interfaz de
redpertenece a libpcap. Esto hace que la facilidad de captura para “paquetes
raw”proporcionadospor el sistema operativo esté disponible a otras aplicaciones.
Un “paquete raw” es un paquete que se deja en su forma original, sin modificar
comohabía viajado a través de la red del cliente al servidor. Un paquete raw tiene toda
su informaciónde cabecera de protocolo de salida intacta e inalterada por el sistema
operativo. Las aplicacionesde red típicamente no tratan paquetes raw; estos dependen
del S.O. para leer la información delprotocolo y expedir los datos de carga útil
correctamente. Snort es insólito en este sentido, usa lainformación de cabecera del
protocolo que habría sido quitada por el sistema operativo paradescubrir algunas
formas de ataques.
77
DECODIFICADOR
El motor de decodificación está organizado alrededor de las capas de la pila
deprotocolos presentes en las definiciones soportadas de los protocolos de Enlace de
Datos yTCP/IP. Cada subrutina en el decodificador impone orden sobre los datos del
paquete,sobreponiendo estructuras de datos sobre el tráfico de la red.
Snort posee capacidades de decodificación para protocolos Ethernet, SLIP y PPP.
Seencarga de tomar los paquetes que recoge el libpcap y almacenarlos en una
estructurade datosen la que se apoyan el resto de capas.
En cuanto los paquetes han sido capturados, Snort debe descifrar los elementos
deprotocolo específicos para cada paquete. El decodificador de paquetes es en
realidaduna seriede decodificadores, de forma que cada uno descifra elementos de
protocolos específicos.Funciona sobre la pila de protocoles de Red, que comienza con
el nivel más bajo: protocolos dela capa de Enlace de Datos, descifrando cada protocolo
conforme asciende en la pila deprotocolos de red. Un paquete sigue este flujo de datos
moviéndose a través del decodificador de paquetes, como se puede ver en el gráfico
16.
78
GRÁFICO 16
FLUJO DE DATOS DEL DECODIFICADOR
Elaboración:Carlos Jiménez Galindo
Fuente:<http://www.adminso.es/images/8/88/PFC_carlos.pdf>
En cuanto los paquetes de datos son almacenados en una estructura de datos están
listospara ser analizados por los preprocesadores y por el motor de detección.
79
PREPROCESADORES
Para comprender mejor lo que es un preprocesador en primer lugar hay que entender
laforma de comunicación de un sistema. Como se puede ver en el gráfico 17, el
protocolo TCP/IPes un protocolo basado en capas. Cada capa del protocolo tiene una
funcionalidad determinaday para trabajar correctamente necesita una información
(cabecera). Por ejemplo, la capa deenlace utiliza para enviar y recibir datos las
direcciones MAC de los equipos, la capa de redutiliza las direcciones IP, etc.
Los datos que se transmiten por la red en paquetes de forma individual, pueden llegar
asu destino de forma desordenada, siendo el receptor el encargado de ordenar los
paquetes ydarles sentido.
GRÁFICO 17
CAPAS TCP/IP
Elaboración:Carlos Jiménez Galindo
Fuente:<http://www.adminso.es/images/8/88/PFC_carlos.pdf>
80
Como Snort tiene que leer todo el tráfico de la red e interpretarlo también tiene
quellevar un control de los paquetes que se envían por la red y así poder darle forma a
lainformación. Por ejemplo, escucha todo el tráfico que tiene como destino una
dirección ypuertos determinados para ensamblar los datos y así poder interpretarlos.
Los Preprocesadores son componentes de Snort que no dependen de las reglas ya que
elconocimiento sobre la intrusión depende del módulo Preprocesador. Se llaman
siempre quellegue un paquete y se les puede aplicar reglas que estén cargadas en
Snort. Asípues, se encargan de coger la información que viaja por la red de una
manera caótica y darleforma para que pueda ser interpretada la información. De esta
forma una vez que tenemos losdatos ordenados que viajan por la red aplicaremos las
reglas (rules) para buscar un determinadoataque.
La arquitectura de preprocesadores de Snort consiste en pequeños programas C
quetoman decisiones sobre qué hacer con el paquete. Estos pequeños programas C se
compilanjunto a Snort en forma de librería. Estos preprocesadores son llamados justo
después que Snortrealice la Decodificación, y posteriormente se llama al Motor de
Detección. Si el número depreprocesadores es muy alto el rendimiento de Snort puede
caer considerablemente.
81
Las configuraciones predeterminadas para estos subsistemas son muy generales,
amedida que experimentemos con Snort, podremos ajustarlas para obtener un mejor
rendimientoy resultados.
A continuación se muestra en el cuadro 9, un resumen con una descripción general de
los preprocesadores de Snort.
CUADRO No. 9
PREPROCESADORES PARA SNORT
Preprocesador
Descripción
frag3
El preprocesador frag3 se basa en la fragmentación IP de
losmódulos de snort. Frag3 permite una ejecución más
rápida que frag2y permite técnicas de antievasión.
Proporciona un flujo de ensamblado TCP y capacidades
de análisispara poder rastrear hasta 100.000 conexiones
simultáneas.
Permite unificar el estado que mantiene los mecanismos
de Snort enun único lugar. Desde la versión 2.1.0 sólo se
implementaba eldetector portscan, pero a largo plazo
muchos subsistemas de Snortutilizan flow.
Es un módulo de reensablado que intenta suplantar a
stream4 y aflow. Permite rastrear tanto comunicaciones
TCP como UDP.
Es un módulo desarrollado por sourcefire para detectar el
primerpaso de un ataque: el escaneo de puertos.
Permite
normalizar
múltiples
registros
RPC
fragmentados en unúnico registro.
Permite medir en tiempo real el funcionamiento de Snort.
Elfuncionamiento de éste preprocesador lo veremos más
tarde.
Es un decodificador genérico para analizar el tráfico http.
Permitetrabajar tanto para analizar las respuestas de los
clientes como de losservidores.
Es un decodificador SMTP para los clientes de correo
stream4 y
stream4_reasemble
flow
stream5
sfportscan
rpc_decode
perfomance monitor
http_inspect y
http_inspect_server
smtp
82
ftp/telnet
ssh
dce/rpc
dns
electrónico.
Permite decodificar el tráfico ftp y telnet para buscar
cualquieractividad anormal. Se utiliza para analizar tanto
las respuestas de losclientes como de los servidores
Permite analizar el tráfico ssh de clientes y servidores.
Analiza el tráfico SMB (compartir archivos y carpetas de
Windows).
Permite analizar el tráfico de DNS para detectar
diferentes tipos deataques.
Elaboración:Propia del autor del presente trabajo.
Fuente:<http://www.adminso.es/images/8/88/PFC_carlos.pdf>
REGLAS
Las reglas o firmas son los patrones que se buscan dentro de los paquetes de datos.
Lasreglas de Snort son utilizadas por el motor de detección para comparar los paquetes
recibidos ygenerar las alertas en caso de existir coincidencia entre el contenido de los
paquetes y las firmas.
El archivo snort.confpermite añadir o eliminar clases enteras de reglas. En la parte
final delarchivo se pueden ver todos los conjuntos de reglas de alertas. Se pueden
desactivar toda unacategoría de reglas comentando la línea de la misma.
A continuación, se verán las distintas reglas de Snort, y el formato de las mismas,
parapoder realizar su configuración.
83
CATEGORÍAS DE REGLAS SNORT
Hay cuatro categorías de reglas para evaluar un paquete. Estas cuatro categorías
estándivididas a su vez en dos grupos, las que tienen contenido y las que no tienen
contenido. Hayreglas de protocolo, reglas de contenido genéricas, reglas de paquetes
mal formados y reglas IP.

Reglas de Protocolo. Las reglas de protocolo son reglas las cuales son
dependientes delprotocolo que se está analizando, por ejemplo en el protocolo
Http está la palabrareservada uricontent.

Reglas de Contenido Genéricas. Este tipo de reglas permite especificar
patrones parabuscar en el campo de datos del paquete, los patrones de
búsqueda pueden ser binarios oen modo ASCII, esto es muy útil para buscar
exploits los cuales suelen terminar encadenas de tipo “/bin/sh”.

Reglas de Paquetes Malformados. Este tipo de reglas especifica
características sobrelos paquetes, concretamente sobre sus cabeceras las cuales
indican que se estáproduciendo algún tipo de anomalía, este tipo de reglas no
miran en el contenido ya queprimero se comprueban las cabeceras en busca de
incoherencias u otro tipo de anomalía.
84

Reglas IP. Este tipo de reglas se aplican directamente sobre la capa IP, y
soncomprobadas para cada datagrama IP, si el datagrama luego es TCP, UDP o
ICMP serealizará un análisis del datagrama con su correspondiente capa de
protocolo, este tipode reglas analiza con contenido y sin él.
ESTRUCTURA DE LAS REGLAS
En su forma básica, una regla de Snort consta de dos partes:

Encabezado

Opciones
En el siguiente gráfico se puede ver la estructura que presenta una regla y su cabecera.
GRÁFICO 18
ESTRUCTURA DE UNA REGLA Y SU CABECERA
Elaboración:Carlos Jiménez Galindo
Fuente:<http://www.adminso.es/images/8/88/PFC_carlos.pdf>
85
A continuación se muestran más detalladamente los distintos componentes de una
regla.
CABECERA DE UNA REGLA
La cabecera permite establecer el origen y destino de la comunicación, y sobre
dichainformación realizar una determinada acción. La cabecera contiene algunos
criterios para unir laregla con un paquete y dictar qué acción debe tomar una regla. Su
estructura es:
<acción><protocolo><red origen><puerto origen><dirección><red destino>
<puerto destino>
La estructura general de la cabecera de la regla es la que se puede observar en
elsiguiente gráfico:
GRÁFICO 19
ESTRUCTURA DE LA CABECERA DE UNA REGLA SNORT
Elaboración:Carlos Jiménez Galindo
Fuente:<http://www.adminso.es/images/8/88/PFC_carlos.pdf>
86
Y el significado de cada campo es el siguiente:

Acción. Permite indicar la acción que se debe realizar sobre dicho paquete. Los
posiblesvalores son:
o alert: Genera una alerta usando el método de alerta seleccionado y
posteriormenteloggea el paquete.
o log: Comprueba el paquete.
o pass: Ignora el paquete.
o activate: Alerta y luego activa otra regla dinámica.
o dynamic: Permanece ocioso hasta que se active una regla, entonces
actúa como uninspector de reglas.

Protocolo. Permite establecer el protocolo de comunicaciones que se va a
utilizar. Losposibles valores son: TCP, UDP, IP e ICMP.

Red de origen y red de destino. Permite establecer el origen y el destino de
lacomunicación.

Puerto de origen y destino. Permite establecer los puertos origen y destino de
lacomunicación. Indica el número de puerto o el rango de puertos aplicado a la
direcciónde red que le precede.
87

Dirección. Permite establecer el sentido de la comunicación. Las posibles
opciones son:->, <- y <>.
LAS OPCIONES DE LAS REGLAS
Las opciones están separadas entre sí, por (;) y las claves de las opciones
estánseparadas por (:). Hay cuatro tipos de opciones:

Meta-data. Proporciona la información sobre la regla pero no tenga alguno
afectadurante la detección.

Payload. Busca patrones (firmas) dentro de la carga útil del paquete.

Non-Payload. Busca patrones dentro de los demás campos del paquete, que no
seancarga útil (por ejemplo, la cabecera).

Post-detection. Permite activar reglas específicas que ocurren después de que
se ejecuteuna regla.
Seguidamente se describen las principales opciones de las reglas:

msg. Informa al motor de alerta que mensaje debe de mostrar. Los caracteres
especialesde las reglas como : y ; deben de colocarse dentro de la opción msg
con el carácter \.
88

flow. Se usa junto con los flujos TCP, para indicar qué reglas deberían de
aplicarse sóloa ciertos tipos de tráfico.

content. Permite que Snort realice una búsqueda sensitiva para un contenido
específicodel payload del paquete.

reference. Define un enlace a sistemas de identificación de ataques externos,
comobugtraq, con id 788.

classtype. Indica qué tipo de ataques intentó el paquete. La opción
classtype,usa lasclassificationsdefinidas en el archivo de configuración de
Snort y que se encuentran enarchivos como classification.config.
La sintaxis del classification.configes:
<nombre_clase>, <descripción_clase>, <priorididad_por_defecto>
La prioridad es un valor entero, normalmente 1 para prioridad alta, 2 para
media y 3para baja.
La
opción
classification
para
el
attempted-admin
que
aparece
en
classification.config,es la siguiente:
config classification: attempted-admin,Attempted Administrator Privilege
Gain,1
89

La opción sid, en combinación con la opción rev, únicamente identifica una
regla Snort,correlacionando el ID de la regla individual con la revisión de la
regla.
MOTOR DE DETECCIÓN
El motor de detección es la parte más importante de Snort. Su responsabilidad
esdescubrir cualquier actividad de intrusión existente en un paquete. Para ello, el
motor dedetección emplea las reglas de Snort. Las reglas son leídas en estructuras de
datos internas ocadenas donde son comparadas con cada paquete. Si un paquete
empareja con cualquier regla,se realiza la acción apropiada. De lo contrario el paquete
es descartado. Las accionesapropiadas pueden ser registrar el paquete o generar
alarmas.
El motor de detección es la parte de tiempo crítico de Snort. Los factores que
influyenen el tiempo de respuesta y en la carga del motor de detección son los
siguientes:

Las características de la máquina.

Las reglas definidas.

Velocidad interna del bus usado en la máquina Snort.

Carga en la red.
90
Estos factores son muy importantes ya que por ejemplo, si el tráfico en la red
esdemasiado alto, mientras Snort está funcionando en modo NIDS, se pueden
descartar paquetes yno se conseguirá una respuesta en tiempo real. Así pues, para el
diseño del IDS habrá que teneren cuenta estos factores.
El motor de detección puede aplicar las reglas en distintas partes del paquete.
Estaspartes son las siguientes:

La cabecera IP. Puede aplicar las reglas a las cabeceras IP del paquete.

La cabecera de la capa de transporte. Incluye las cabeceras TCP, UDP e
ICMP.

La cabecera del nivel de la capa de aplicación. Incluye cabeceras DNS, FTP,
SNMPy SMPT.

Payload del paquete. Esto significa que se puede crear una regla que el motor
dedetección use para encontrar una cadena que esté presente dentro del
paquete.
El nuevo motor de detección de Snort introducido en la versión 2.0, parte con
unrequisito inicial, que Snort sea capaz de funcionar en redes Gigabyte, y para que
esto sea posiblese ha reescrito totalmente el motor de Snort para que este sea capaz de
gestionar tráfico aGigaBytes.
91
Los
desarrolladores
de
Snort
realizaron
un
nuevo
motor
de
detección
usandoalgoritmosmultipatrónde búsqueda que es el núcleo del motor y que
implementa múltiples reglas,permitiendo a Snort funcionar sobre redes GigaByte.El
nuevo motor de detección construye cuatro grupos de reglas, una para el
protocoloTCP, para UDP, para ICMP y para IP.
Cuando un paquete se captura mediante la librería Libpcap lo primero que se realiza
esuna decodificación de éste para alinear cabeceras según el protocolo, como se puede
ver en elsiguiente diagrama del gráfico 20.
GRÁFICO 20
DIAGRAMA DE DECODIFICACIÓN DE PAQUETES
92
Elaboración:Carlos Jiménez Galindo
Fuente:<http://www.adminso.es/images/8/88/PFC_carlos.pdf>
MÓDULOS DE SALIDA
Los módulos de salida o plugins pueden hacer diferentes operaciones dependiendo
decómo se desee guardar la salida generada por el sistema de loggin y alerta de
Snort.Básicamente estos módulos controlan el tipo de salida generada por estos
sistemas.Existen varios módulos de salida que se pueden utilizar, dependiendo del
formato en elque se deseen los datos: Syslog, Databasey el nuevo módulo denominado
Unified, que es unformato binario genérico para exportar datos a otros programas.
Tipos de módulos de salidas:

Syslog. Envía las alarmas al syslog.

Alert_Fast. El modo Alerta Rápida nos devolverá información sobre: tiempo,
mensajede la alerta, clasificación, prioridad de la alerta, IP y puerto de origen y
destino.

Alert_Full. El modo de Alerta Completa nos devolverá información sobre:
tiempo,mensaje de la alerta, clasificación, prioridad de la alerta, IP y puerto de
origen/destino einformación completa de las cabeceras de los paquetes
registrados.

Alert_smb. Permite a Snort realizar llamadas al cliente de SMB, y enviar
mensajes dealerta a hosts Windows (WinPopUp).
93

Alert_unixsock. Manda las alertas a través de un socket, para que las escuche
otraaplicación.

Log_tcpdump. Este módulo asocia paquetes a un archivo con formato
tcpdump.

Database. Snort admite directamente cuatro tipos de salida a base de datos:
MySQL,PostgreSQL, Oracle y unixODBC. El módulo de salida de base de
datos requiere:parámetros y configuraciones, dentro del archivo de
configuración y en tiempo decompilación.

CSV. El plugin de salida CSV permite escribir datos de alerta en un formato
fácilmenteimportable a una base de datos.

Unified. Es un formato binario básico para registrar los datos y usarlos en el
futuro. Losdos argumentos admitidos son filenamey limit.

Log Null. A veces es útil ser capaz de crear las reglas que provocarán alertas
sobreciertos tipos de tráfico, pero no causarán entradas en los archivos de log.

Eventlog. Registra las alertas para visualizarse a través del visor de sucesos de
unsistema Windows.
94
CAPÍTULO III
METODOLOGÍA
DISEÑO DE LA INVESTIGACIÓN
MODALIDAD DE LA INVESTIGACIÓN
El trabajo que se presenta es el de un “Diseño e implementación de un sistema
detector de intrusos para aumentar la seguridad informática aplicando la
plataforma GNU-Linux” al que lo considero como una investigación de tipo
bibliográfica ya que al realizar este trabajo se hizouna investigación exhaustiva en
todo lo que se refiere a las diversas fallas que se podrían presentar en un sistema
informático y las posibles soluciones que se pueden dar para reparar esa vulnerabilidad
de la que ha sido objeto tal sistema.
TIPO DE INVESTIGACIÓN
95
El presente trabajo se encuentra enmarcado dentro del tipo de investigación por la
factibilidad el cual es un proyecto factible, ya que es la propuesta de un modelo
práctico que permite solucionar problemas, luego de un diagnóstico.
POBLACIÓN Y MUESTRA
POBLACIÓN
La presente investigación escogió a lugares que prestan servicios de hosting en la
ciudad de Guayaquil.El hosting es el servicio que provee a los usuarios de Internet un
sistema para poder almacenar información, vídeo, o cualquier contenido accesible vía
web. Es una analogía de “hospedaje o alojamiento en hoteles o habitaciones” donde
uno ocupa un lugar específico, en este caso la analogía alojamiento web o alojamiento
de páginas web, se refiere al lugar que ocupa una página web, sitio web, sistema,
correo electrónico, etc. en Internet o más específicamente en un servidor que por lo
general hospeda varias aplicaciones o páginas web. Se escogió esta población para
hacer un análisis en lo que respecta a la seguridad de estos sitios que ofrecen dicho
servicio a sus clientes.
MUESTRA
Como nuestra población es pequeña,para nuestro estudio se realizó un total de 29
encuestas que son las que corresponden a nuestra muestra.
96
INSTRUMENTO DE LA RECOLECCIÓN DE DATOS
El instrumento que utilice para realizar la recolección de datos fue la encuesta. A
continuación expongo el formato de la encuesta que se realizo basado en nuestro tema
investigativo.
FORMATO DE LA ENCUESTA
1. ¿Existe algún responsable de la seguridad informática de su empresa?
SI
NO
2. ¿Tiene implementado algún sistema para detectar accesos no autorizados
en su empresa?
SI
NO
3. Si su respuesta es positiva indique el tipo de sistema que tiene
implementado en su empresa:
Windows
97
Linux
Sistemas de detección de intrusos
Firewalls
Otros
4. Tuvieron problemas de seguridad informática en el tiempo que llevan
operando?
SI
NO
5. Si su respuesta es positiva indique el tipo de problema del que fue objeto
su compañía:
Alteración de página web
Acceso no autorizado por personal interno
Captura de información
Otros
6. Indique cómo se entero de estas violaciones a la seguridad:
Sistemas de detección de intrusos
Firewalls
Otros
7. ¿Conoce usted de la aplicación SNORT?
SI
NO
98
8. Seleccione los elementos que impiden fortalecer la seguridad informática
en su organización:
Factor económico
Factor humano
Desconocimiento
Otro
9. Escoja que tecnología de seguridad informática utiliza actualmente su
empresa:
Sistemas de detección de intrusos
Firewalls
Software antivirus
Redes privadas virtuales
Otras
Ninguna
10. ¿Considera que la información es un activo que se debería proteger?
SI
NO
PROCESAMIENTO Y ANÁLISIS
99
Para nuestro estudio se realizó un total de 29 encuestas. A continuación se muestran
las preguntas formuladas y el desglose de las respuestas dadas con su respectivo
gráfico que nos permiten tener una mejor compresión de la situación.
¿Existe algún responsable de la seguridad informática de su empresa?
CUADRO No. 10
RESULTADOS DE LA PREGUNTA 1
SI
12
NO
17
Elaboración:Propia del autor del presente trabajo
Fuente:Encuesta
Vemos que el 41% de los encuestados respondió a que si tenían un responsable de la
seguridad informática en su empresa, lo que quiere decir que hay un porcentaje
bastante alto de lugares que no tienen responsable de la seguridad informática.
GRÁFICO 21
PREGUNTA 1
100
SI
41%
SI
NO
NO
59%
Elaboración:Propia del autor del presente trabajo
Fuente:Encuesta
Tiene implementado algún sistema para detectar accesos no autorizados en su
empresa?
CUADRO No. 11
RESULTADOS DE LA PREGUNTA 2
SI
16
NO
13
Elaboración:Propia del autor del presente trabajo
Fuente:Encuesta
Existe un porcentaje bastante alto de lugares que no tienen implementado algún
sistema para detectar accesos no autorizados.
GRÁFICO 22
PREGUNTA 2
101
NO
45%
SI
SI
55%
NO
Elaboración:Propia del autor del presente trabajo
Fuente:Encuesta
Si su respuesta es positiva indique el tipo de sistema que tiene implementado en
su empresa:
CUADRO No. 12
RESULTADOS DE LA PREGUNTA 3
Windows
9
Linux
7
Sistemas de detección de intrusos
1
Firewalls
14
Otros
2
Elaboración:Propia del autor del presente trabajo
Fuente:Encuesta
Esta pregunta venia relacionada con la anterior en el caso de que nos contestaran
afirmativamente y nosarrojo los siguientes resultados: el tipo de sistema que tienen la
102
mayor parte de los lugares encuestados para detectaraccesos no autorizados son los
firewalls, el cual tiene un porcentaje del 43%, seguido por el sistema operativo
Windows con un 27%, el sistema operativos Linux con un 21%, otros tipos de
sistemas con un 6% y un bajo porcentaje (3%)de lugares que tienen implementado un
sistema detector de intrusos.
GRÁFICO 23
PREGUNTA 3
Otros
6%
Windows
Windows
27%
Linux
Sistemas de detección de
intrusos
Firewalls
43%
Firewalls
Linux
21%
Sistemas de
detección
de intrusos
3%
Otros
Elaboración:Propia del autor del presente trabajo
Fuente:Encuesta
Tuvieron problemas de seguridad informática en el tiempo que llevan operando?
103
CUADRO No. 13
RESULTADOS DE LA PREGUNTA 4
SI
10
NO
19
Elaboración:Propia del autor del presente trabajo
Fuente:Encuesta
GRÁFICO 24
PREGUNTA 4
SI
34%
SI
NO
NO
66%
Elaboración:Propia del autor del presente trabajo
Fuente:Encuesta
El 34% de los sitios encuestados nos afirmo que tuvieron problemas de seguridad
informática, mientras que el 66% no tuvieron problemas.
104
Si su respuesta es positiva indique el tipo de problema del que fue objeto su
compañía:
CUADRO No. 14
RESULTADOS DE LA PREGUNTA 5
Alteración de página web
0
Acceso no autorizado por personal
1
interno
Captura de información
1
Otros
8
Elaboración:Propia del autor del presente trabajo
Fuente:Encuesta
GRÁFICO 25
PREGUNTA 5
105
Acceso no
autorizado por
personal
interno
10%
Alteración de
página web
Captura de
0% información
10%
Alteración de página web
Acceso no autorizado por
personal interno
Captura de información
Otros
Otros
80%
Elaboración:Propia del autor del presente trabajo
Fuente:Encuesta
Esta pregunta venia relacionada con la anterior en el caso de que nos contestaran
afirmativamente y nosarrojo los siguientes resultados: El ítem “Otros tipo de
problemas” nos dio un porcentaje del 80%, el acceso no autorizado por personal
interno y captura de información nos dio un porcentaje del 1% mientras que por
alteración de página web no hubo ningún porcentaje.
Indique cómo se enteró de estas violaciones a la seguridad:
CUADRO No. 15
RESULTADOS DE LA PREGUNTA 6
Sistemas de detección de intrusos
3
Firewalls
1
106
6
Otros
Elaboración:Propia del autor del presente trabajo
Fuente:Encuesta
GRÁFICO 26
PREGUNTA 6
Sistemas de
detección de
intrusos
30%
Otros
60%
Firewalls
10%
Elaboración:Propia del autor del presente trabajo
Fuente:Encuesta
Sistemas de detección de
intrusos
Firewalls
Otros
107
En cuanto a como se enteraron de las violaciones a la seguridad los lugares afectados
nos dio el siguiente resultado: el ítem “Por otros medios” nos dio un porcentaje del
60%, por sistemas de detección de intrusos un 30% y por medio de firewalls un 10%.
¿Conoce usted de la aplicación SNORT?
CUADRO No. 16
RESULTADOS DE LA PREGUNTA 7
SI
5
NO
24
Elaboración:Propia del autor del presente trabajo
Fuente:Encuesta
GRÁFICO 27
PREGUNTA 7
108
SI
17%
SI
NO
NO
83%
Elaboración:Propia del autor del presente trabajo
Fuente:Encuesta
Los lugares encuestados que conocían de la herramienta para detección de intrusos nos
dio un porcentaje del 17% frente al 83% de encuestados que no conocían de la
herramienta Open SourceSnort.
Seleccione los elementos que impiden fortalecer la seguridad informática en su
organización:
CUADRO No. 17
RESULTADOS DE LA PREGUNTA 8
Factor económico
14
Factor humano
5
109
Desconocimiento
10
Otro
0
Elaboración:Propia del autor del presente trabajo
Fuente:Encuesta
GRÁFICO 28
PREGUNTA 8
Otro
0%
Desconocimient
o
35%
Factor
económico
48%
Factor económico
Factor humano
Desconocimiento
Otro
Factor humano
17%
110
Elaboración:Propia del autor del presente trabajo
Fuente:Encuesta
El principal factor por el cual las organizaciones no fortalecían la seguridad
informática fue el factor económico el cual nos dio un resultado del 48%, mientras que
por desconocimiento el 10%, por el factor humano un 17%, y por otro factor un
porcentaje nulo.
Escoja que tecnología de seguridad informática utiliza actualmente su empresa:
CUADRO No. 18
RESULTADOS DE LA PREGUNTA 9
Sistemas de detección de intrusos
7
Firewalls
13
Software antivirus
27
Redes privadas virtuales
4
Otras
0
Ninguna
0
111
Elaboración:Propia del autor del presente trabajo
Fuente:Encuesta
En cuanto a la tecnología de seguridad informática que utiliza actualmente el sitio
encuestado el principal el mayor porcentaje corresponde a el software antivirus con el
53%, firewalls con un 25%, sistemas de detección de intrusos con un 14%, redes
privadas virtuales con un 8%, otro tipo de tecnología y ninguna con un porcentaje
nulo.
GRÁFICO 29
PREGUNTA 9
112
Redes privadas
virtuales
8%
Otras
0%
Ninguna Sistemas de
0%
detección de
intrusos
14%
Sistemas de detección de
intrusos
Firewalls
Software antivirus
Firewalls
25%
Software
antivirus
53%
Redes privadas virtuales
Otras
Ninguna
Elaboración:Propia del autor del presente trabajo
Fuente:Encuesta
Considera que la información es un activo que se debería proteger?
CUADRO No. 19
RESULTADOS DE LA PREGUNTA 10
SI
29
NO
0
Elaboración:Propia del autor del presente trabajo
Fuente:Encuesta
La respuesta fue unánimente afirmativa (100%) al hacerles esta vital pregunta a los
sitios encuestados.
113
GRÁFICO 30
PREGUNTA 10
NO
0%
SI
NO
SI
100%
Elaboración:Propia del autor del presente trabajo
Fuente:Encuesta
CRITERIOS PARA LA LABORACIÓN DE LA PROPUESTA
114
El objetivo fundamental de la propuesta es el diseño de un sistema de detección de
intrusos, para lo cual he diseñado un entorno modelo basado en una arquitectura
virtual en el cual el sensor (Snort) estará instalado en una máquina virtual con el
sistema operativo Linux en su distribución Open Suse 11.2 el mismo que hará las
funciones de servidor. El sensor nos proporcionará el tráfico filtrado y procesado en
forma de alertas.
En el gráfico 31 se muestra el esquema de la propuesta, pudiendo apreciarse los
elementos principales que la componen: el sensor, propiamente dicho, formado por la
aplicación Open SourceSnort el cual estará conectado a la red (virtual) de área local
(LAN) cuyo tráfico se desea investigar. Este elemento es el que proporciona
lacapacidad de sensorización al sistema; se analizará en tiempo real el tráfico
capturado en busca de patrones de comportamiento que puedan considerarse anómalos
y, por lo tanto, ser clasificados como intentos de intrusión y convertidos en alertas;
además de capacidad de procesamiento, el sensor posee una memoria de
almacenamiento interna no volátil en la que se guardarán las alertas que genere el IDS,
junto con el tráfico que las provocó; y finalmente hemos colocado cuatro
computadores en nuestra red virtual para hacer las respectivas pruebas.
GRÁFICO 31
ESQUEMA DE LA PROPUESTA
115
192.168.56.01
Windows XP SP3
192.168.56.128
OpenSuse 11.2
192.168.56.129
IDS SNORT
Windows XP SP3
192.168.56.130
Elaboración:Propia del autor del presente trabajo
Fuente:Propia del autor del presente trabajo
CAPÍTULO IV
MARCO ADMINISTRATIVO
Back Track 5
192.168.56.131
116
CRONOGRAMA
Nombre de tarea
Desarrollo capítulo 1
Desarrollo capítulo 1
Recopilación y análisis de inf.
Recopilación y análisis de inf.
Desarrollo capítulo 2
Desarrollo capítulo 2
Recopilación inf. adicional
Desarrollo capítulo 3
Desarrollo capítulo 3
Desarrollo de esquema a realizar
Investigación herram. a utilizar
Instalación Open Suse 11.2
Aprendizaje comandos Linux
Investigación de IDS Snort
Instalación y configuración de IDS
Snort
Pruebas locales de IDS Snort
Instalación de sistemas en máquinas
virtuales para pruebas externas
Pruebas del IDS
Pruebas del IDS
Realizar formato de encuesta
Realización de encuestas
Procesamiento encuestas
Desarrollo capítulo 4
Desarrollo capítulo 5
Desarrollo de Anexos y Bibliografía
Revisión y correcciones
Duración
5 días
5 días
5 días
5 días
5 días
5 días
5 días
5 días
5 días
5 días
5 días
5 días
5 días
5 días
5 días
Comienzo
12/04/10
19/04/10
26/04/10
03/05/10
10/05/10
17/05/10
24/05/10
31/05/10
07/06/10
14/06/10
21/06/10
28/06/10
05/07/10
12/07/10
19/07/10
Fin
16/04/10
23/04/10
30/04/10
07/05/10
14/05/10
21/05/10
28/05/10
04/06/10
11/06/10
18/06/10
25/06/10
02/07/10
09/07/10
16/07/10
23/07/10
5 días
5 días
26/07/10
02/08/10
30/07/10
06/08/10
5 días
5 días
5 días
5 días
5 días
5 días
5 días
5 días
5 días
09/08/10
16/08/10
23/08/10
30/08/10
06/09/10
13/09/10
20/09/10
27/09/10
04/10/10
13/08/10
20/08/10
27/08/10
03/09/10
10/09/10
17/09/10
24/09/10
01/10/10
08/10/10
PRESUPUESTO
117
CUADRO No. 20
DETALLE DE EGRESOS DEL PROYECTO
EGRESOS
Costo de Seminario de Graduación
DÓLARES
$ 900.00
Computador portátil Toshiba
1,100.00
Disco duro portátilVerbatim
150.00
Servicio de Internet banda ancha 1 MBps(6 meses)
$28 c/mes
Servicio de energía eléctrica (6 meses)
$20 c/mes
Suministros de oficina y computación
168.00
120.00
70.00
Transporte
20.00
Fotocopias
5.00
Anillado de tesis de grado
5.00
TOTAL
$ 2,538.00
Elaboración:Propia del autor del presente trabajo
Fuente: Propia del autor del presente trabajo
RECURSOS UTILIZADOS PARA EL PROYECTO
118
HARDWARE

Computador portátil Toshiba

Procesador: Intel Core i5 2.40 Ghz

Memoria RAM: 4 Gb

Disco duro: 500 GB

Disco portátil: 320 GB
SOFTWARE

Vmware Workstation 7.0

openSUSE 11.2

Microsoft Windows XP SP3

BackTrack 5

Snort 2.9

Base 1.4.5
CONCLUSIONES
119
Hoy en día las empresas deben enfocar parte de su atención en el grado de
vulnerabilidad y en las herramientas de seguridad con las que cuentan para hacerle
frente a posibles ataques informáticos que luego se pueden traducir en pérdidas
cuantiosas de dinero.
Pero no se trata de tecnología sino que se debe tener en cuenta siempre tres variables
de disminución de riesgo: Tecnología, Procesos y Personal. En cada uno de estos
puntos hay mucho que hacer, también considerando los niveles de confidencialidad,
disponibilidad e integridad que requiere cada uno de los elementos ponderados de las
funciones básicas del negocio.
En cuanto a los procesos, es importante que las empresas comiencen a entender,
planear, diseñar e implementar los procesos, mecanismos y métricas necesarias que le
permitan realizar el cumplimiento de regulaciones y normas.
En lo que se refiere a las personas, los atacantes están teniendo el mayor éxito en el
eslabón más débil y difícil de proteger, en este caso es la gente, se trata de uno de los
factores que ha incentivado el número de ataques internos. No importando los
procesos y la tecnología finalmente el éxito de un plan de disminución de riesgos
queda en manos del usuario.
Son numerosos los ataques analizados que se basan en explotar algunas características
de los protocolos de comunicación. Estos ataques buscan o bien el cese de las
120
actividades o servicios que presta el ordenador atacado (ataques de denegación de
servicio) o bien conseguir un acceso dentro de la máquina que le permita utilizarla a su
gusto y conveniencia.
La proliferación de herramientas automáticas que permiten de una forma sencilla
coordinar ataques de cientos o miles de ordenadores simultáneamente, exige
sistemasmás sofisticados que sean capaces de seguir y entender el flujo de las
comunicacionesexistentes. El simple filtrado de paquetes aislados del resto del flujo de
la comunicación ha dejado de ser efectivo.
También debemos tener en cuenta que muchas veces no basta únicamente con
protegernos de las posibles amenazas que provienen de Internet. En el caso de que un
sistema fuera comprometido por el motivo que fuese, el resto de ataques que lanzaría
el atacante hacia nuestra red serían ataques internos que pasarían desapercibidos.
Los sistemas NIDS unen a la capacidad de filtrado del tráfico las posibilidades que
brindan la detección por firmas (patrones específicos de ataques conocidos) y el
seguimiento de las comunicaciones desde un nivel de flujo de la comunicación.
Las contrapartidas de estos sistemas son principalmente la posibilidad de generar
falsos positivos y falsos negativos que pueden desvirtuar la efectividad del sistema.
Por otro lado generan una inmensa cantidad de información al tratar con todo el tráfico
121
existente en la red (benigno y maligno) lo que dificulta su post-proceso e
interpretación.
Además, para que un sistema de detección de intrusos sea realmente efectivo debe
estar perfectamente parametrizado y adaptado a la red en la cual está instalada, lo que
implica la existencia de un personal cualificado que regularmente verifique el buen
funcionamiento del sistema.
La mejora tecnológica que se produce constantemente en las telecomunicaciones ha
llevado a la proliferación de ataques y comportamientos maliciosos que anteriormente
eran imposibles. La comprobación de toda una clase A, B o C de direcciones IP
empieza a ser factible actualmente en espacios de tiempo cada vez menores. Lo que
antes hubiera tardado meses y años, en la actualidad con los anchos de banda
mejorando cada día pasa a ser cuestiones de días o incluso horas.
Las antiguas premisas de esconderse tras el anonimato o la falta de documentación
pública sobre los aspectos de seguridad o de arquitectura de nuestra red dejan de ser
válidos. Los atacantes realizan barridos “ciegos” por toda Internet con el objetivo
deconseguir un sistema vulnerable a sus técnicas y métodos.
Finalmente los IDS son cada vez más necesarios conforme aumenta el número de
incidentes en Internet. Son de gran ayuda para los administradores de una red,
trabajando en conjunto con otras herramientas de seguridad, como los firewalls y
122
analizadores de red. La información que dan nos ayuda a determinar los abusos que se
producen en la red, su naturaleza y sus fuentes.
RECOMENDACIONES
123
Capacitar al área encargada del sistema informático y redes de datos,en los camposde
seguridad informática para que comprendiendo todoslos posibles problemas, sean
éstos de desactualizaciones de equipos,de virus, troyanos, gusanos, de instalación de
software pirata, etc,puedan manejarlo y actuar de manera rápida para poder
solucionarlo deuna manera óptima.
Hablar con los responsables de la parte administrativa de lasorganizaciones, acerca de
los problemas informáticos y de las posiblesconsecuencias que se puede tener a corto
y largo plazo, resaltando quela mejor defensa es la prevención.
Actualizar el sistema operativo y aplicaciones importantes de lascomputadoras, por
medio de los “parches” de seguridad que publican losfabricantes, principalmente en
aquellas que se encuentren conectadas aInternet; ya que éstos equipos son muchomás
vulnerables que otrosque no trabajen en una red insegura como la red Internet.
La utilización combinada del firewall y el sistema de detección deintrusos, ya que son
un complemento que favorece a la seguridad de lasorganizaciones
La instalación y utilización de antivirus y firewalls de casas comercialesconocidas, ya
que si se utiliza software no conocido y difundido, en vezde favorecer a la seguridad
de la organización se estaría perjudicandoya que podrían tratarse de aplicaciones
124
maliciosas o modificadas quetengan escondidos programas que atenten contra la
seguridad de la red.
Si se requiere bajar programas fundamentales y necesarios para laorganización, se
recomienda que se lo haga desde páginas Web o urlsseguros; que se compruebe la
integridad del archivo descargadomediante la utilización de funciones hash, todo esto
para evitarinstalaciones de archivos modificados que son perjudiciales.
125
ANEXOS
GLOSARIO
126
ADSL(Asymmetric Digital Subscriber Line).Es una tecnología de acceso a Internet
de banda ancha, lo que implica una velocidad superior a una conexión tradicional por
módem en la transferencia de datos, ya que el módem utiliza la banda de voz y por
tanto impide el servicio de voz mientras se use y viceversa.
ATM (Asynchronous Transfer Mode). Es una tecnología de telecomunicación
desarrollada para hacer frente a la gran demanda de capacidad de transmisión para
servicios y aplicaciones.
BASE (Basic Analysis and Security Engine).Esta aplicación proporciona un
frontend web para consultar y analizar las alertas procedentes de un sistema IDS
SNORT.
BGP(Border Gateway Protocol). Protocolo mediante el cual se intercambia
información de encaminamiento entre sistemas autónomos.
Bugtraq.Es una lista de correo electrónico para publicación de vulnerabilidades
de software y hardware. Su listado de vulnerabilidades puede servir tanto a
un administrador de sistemas para enterarse de los fallos y si es posible arreglarlos,
como a un cracker para atacar sistemas vulnerables.
127
CERT(Computer Emergency Response Team). Es un centro de coordinación
importante en el tratamiento con los problemas de seguridad en Internet.
CIDF(Common Intrusion Detection Framework).Es un esfuerzo para desarrollar
los protocolos y las interfaces de programación de aplicaciones para que los proyectos
de investigación de detección de intrusos puedan compartir información y recursos y
también para que los componentes de detección de intrusiones se puedanreutilizar en
otros sistemas.
Cracker.Hacker cuya ocupación es buscar la forma de entrar en sistemas y encontrar
los fallos de seguridad de programas.
DOS (Denial of Service). En seguridad informática, un ataque de denegación de
servicio,también
llamado
ataque DoS,es
un
ataque
a
un
sistemade computadoras o red que causa que un servicio o recurso sea inaccesible a
los usuarios legítimos.
DDOS (Distributed Denial of Service). Una ampliación del ataque DoS es el ataque
distribuido de denegación de servicio, también llamado ataque DDoS el cual se lleva
a cabo generando un gran flujo de información desde varios puntos de conexión.
128
DMZ (Demilitarizedzone). Es una red local que se ubica entre la red interna de una
organización y una red externa, generalmente Internet.
DNS (DomainNameSystem).Es un sistema de nomenclatura jerárquica para
computadoras, servicios o cualquier recurso conectado a Internet o a una red privada.
Firewall (Cortafuegos). Es un ordenador o un programa que conecta una red a
Internet pero impide el acceso no autorizado desde Internet. Mecanismo que permite
que las comunicaciones entre una red local e Internet se realizen conforme a las
políticas de seguridad de quien los instala.
FTP(File Transfer Protocol). Es un protocolo de red para la transferencia de archivos
entre sistemas conectados a una red TCP (Transmission Control Protocol), basado en
la arquitectura cliente-servidor.
GNU. Acrónimo recursivo que significa "GNU No es Unix". Software desarrollado
para distribución sin fines de lucro. El proyecto GNU comenzó en 1984 para
desarrollar un sistema operativo tipo Unix completo, que fuera software libre.
GPL (General PublicLicense). Licencia creada por la Free SoftwareFoundation y
orientada principalmente a los términos de distribución, modificación y uso de
software libre.
129
Hacker. Usuario de ordenadores especializado en penetrar en las bases de datos de
sistemas informáticos estatales con el fin de obtener información secreta. En la
actualidad, el término se identifica con el de delincuente informático.
HIDS (Host-based intrusion detection system). Sistema de detección de intrusos en
un Host.
HTTP (Hiper Text Transfer Protocol).Protocola de transferencia de HiperTexto. Es
el protocolo de Internet que permite que los exploradores del WWW recuperen
información de los servidores.
IETF(Internet Engineering Task Force).Es una organización internacional abierta
de normalización, que tiene como objetivos el contribuir a la ingeniería de Internet,
actuando en diversas áreas, como transporte, encaminamiento, seguridad.
ICMP (Internet ControI Message Protocol).Protocolo de control de mensajes de
interred. Protocolo usado por el IP para informar de errores y excepciones.
IDMEF(Intrusion Detection Message Exchange Format).El grupo IDWG
desarrolló el IDMEF (IntrusionDetectionMessage Exchange Format) como un formato
común para alertas IDS. Este es una especificación basada en XML para un formato de
alertas de intrusión.
130
IDS(IntrusionDetectionSystem).Es un programa usado para detectar accesos no
autorizados a un computador o a una red. Estos accesos pueden ser ataques de
habilidosos hackers, o de Script Kiddies que usan herramientas automáticas.
IDWG(Intrusion
Detection
Working
Group).El
objetivo
del
IntrusionDetectionWorkingGroup(IDWG) es de definir formatos de datos y
procedimientos de intercambio para compartir la información de interés a la detección
de intrusión y sistemas de respuesta y para los sistemas de gestión que necesitan
interactuar con ellos.
IDXP (Intrusion Detection Exchange Protocol).Este es un protocolo de nivel de
aplicación para intercambiar datos entre entidades de detección de intrusos.
IETF (Internet Engineering Task Force). Es una organización internacional abierta
de normalización, que tiene como objetivos el contribuir a la ingeniería de Internet,
actuando en diversas áreas, como transporte, encaminamiento, seguridad.
IP (Internet Protocol).Es un protocolo no orientado a conexión usado tanto por el
origen como por el destino para la comunicación de datos a través de una red de
paquetes conmutados no fiable de mejor entrega posible sin garantías.
131
ISP (Internet ServiceProvider). Es una empresa que brinda conexión a Internet a sus
clientes. Un ISP conecta a sus usuarios a Internet a través de diferentes tecnologías
como DSL, Cablemódem, GSM, Dial-up, Wifi, entre otros.
Lamer.Vocablo usado despectivamente para definir a aquellos que presumen de ser
Hackers y no lo son.
LAN(Local Area Network). Red de área local. El término LAN define la conexión
física y lógica de ordenadores en un entorno generalmente de oficina.
Linux. Versión bajo la licencia GPL/GNU del conocido sistema operativo UNIX. Es
un sistema multitarea multiusuario para PC´s. Linux es una implementación del
sistema operativo UNIX pero con la originalidad de ser gratuito y a la vez muy
potente.
MAC (Mac AddressDirection). Es un identificador de 48 bits (3 bloques
hexadecimales) que corresponde de forma única a una tarjeta o dispositivo de red.
NAT(Network AddressTranslation). Es un mecanismo utilizado por routers IP para
intercambiar paquetes entre dos redes que se asignan mutuamente direcciones
incompatibles. Consiste en convertir en tiempo real las direcciones utilizadas en los
paquetes transportados.
132
NIDS (Network Intrusion Detection System).Es un sistema de detección de intrusos
que trata de detectar actividades maliciosas, tales como el ataque de denegación de
servicios, escaneo de puertos e incluso los intentos de crack en las computadoras
mediante el control de tráfico de la red.
SNMP (Simple Network Management Protocol).Es un protocolo de la capa de
aplicación que facilita el intercambio de información de administración entre
dispositivos de red. Es parte de la familia de protocolos TCP/IP.
SMTP (Simple Mail Transfer Protocol). Es un protocolo de la capa de aplicación.
Protocolo de red basado en texto utilizado para el intercambio de mensajes de correo
electrónico entre computadoras u otros dispositivos.
TCP/IP (Transmision Control Protocol/Internet Protocol). Se trata de un estándar
de comunicaciones muy extendido y de uso muy frecuente para software de red basado
en Unix con protocolos Token-Ring y Ethernet, entre otros.
TCSEC (Trusted Computer System Evaluation Criteria). Tiene por objetivo
aplicar la política de seguridad del Departamento de Defensa estadounidense. Esta
política se preocupa fundamentalmente del mantenimiento de la confidencialidad de la
información clasificada a nivel nacional.
133
UDP (UserDatagramProtocol). Protocolo del nivel de transporte basado en el
intercambio de datagramas. Permite el envío de datagramas a través de la red sin que
se haya establecido previamente una conexión, ya que el propio datagrama incorpora
suficiente información de direccionamiento en su cabecera.
VPN(Virtual Private Network). Es una tecnología de red que permite una extensión
de la red local sobre una red pública o no controlada, como por ejemplo Internet.
134
INSTALACIÓN DE OPEN SUSE 11.2 EN UNA MÁQUINA
VIRTUAL
135
136
137
138
139
140
141
142
INSTALACIÓN PASO A PASO DEL SISTEMA DE DETECCIÓN
DE INTRUSOS
Exponemos los pasos necesarios para la instalación del sistema de detección de
intrusos Snort, a ser utilizado en una plataforma Linux, específicamente la distribución
Open Suse 11.2.
REQUISITOS BÁSICOS
Usamos YAST para instalar los siguientes paquetes:

libcap-devel
mysql

libpng-devel
flex

pcre-devel
bison

gcc

gcc-c++

libmysqld-devel

php5-pear

php5-devel

php5-mysql

make

mysql-client
143
INSTALACIÓN DE SNORT

Crear un directorio en el cual grabaremos todos los paquetes descargados
cd /home
mkdirsnortinstall
cd snortinstall

Descargar el software Snort
wgethttps://www.snort.org/downloads/1107
wgethttps://www.snort.org/downloads/1098

Desempaquetar el paquete bajadoy ingresar al directorio snort-2.9.0
tar –xvzf snort-2.9.0.tar.gz
cd snort-2.9.0

Compilar y instalar Snort
./configure --with-mysql
make
make install

Crear una cuenta de usuario llamada snort y agregarla al grupo snort
groupadd snort
useradd –g snort snort
144
Crear los directorios necesarios para almacenar las reglas y los logs
mkdir /etc/snort
mkdir /etc/snort/rules
mkdir /var/log/snort

Copiar archivos de configuración ubicados en:
/home/snortinstall/snort-2.9.0/etc al directorio
/etc/snort:
cd etc
cp * /etc/snort

Nos ubicamos en el directorio /home/snortinstall
cd /home/snortinstall

Descargar las reglas de Snort

Desempaquetar las reglas de Snort y copiar las reglas al directorio
/etc/snort/rules
tar –xvzfsnortrules-snapshot-2905.tar.gz
cd rules
cp * /etc/snort/rules
145
CONFIGURACIÓN DE SNORT

Editar el archivo de configuración de Snort ubicado en:
/etc/snort/snort.conf

Una vez dentro nos ubicamos en:
var HOME_NET network/mask (esta es la red interna a ser monitoreada, por
ejemplo: var HOME_NET 192.168.56.0/24. Para una IP dinámica: var
HOME_NET $eth0_ADDRESS)
var EXTERNAL_NET !$HOME_NET (esta es la red externa, desde la cual
podrían iniciar ataques)
var RULE_PATH /etc/snort/rules

Buscar la entrada output database, descomentarla y editarla como sigue:
output
database:
log,
user=snortpassword=<snort_password>dbname=snort
mysql,
host=localhost
(esto
define la base de datos en la cual Snort almacenera los eventos, su usuario y
su contraseña)

Grabar el archivo.
146
INSTALACIÓN DE SCRIPT

Descargamos un script de inicio y lo guardamos en el directorio /etc/init.d
cd /etc/init.d
wget http://internetsecurityguru.com/snortinit/snort

Editar el script comentando las siguientes líneas:
#. /etc/rc.d/init.d/functions
#. /etc/sysconfig/network
# [ ${NETWORKING} =”no” ]&&exit 0
Cambiar la línea: Action “” /sbin/pidof $BASE
por: /sbin/pidof $BASE

Una vez grabado el script, tipea los siguiente comandos:
chmod 755 snort (lo hace ejecutable)
chkconfig –a snort (para ejecutar el script en el inicio del sistema)
CREACIÓN DE LA BASE DE DATOS EN MYSQL

Ejecutar MYSQL y ingresar la contraseña (la contraseña que se asigno a
MYSQL durante la instalación)
147
/usr/bin/mysql –u root –p
Enterpassword: (ingresamos la contraseña)
mysql>

Crear la base de datos Snort y configurar la cuenta(„snort_password‟ es la
contraseña que se especifico en la línea „output database‟ de el archivo
snort.conf)
mysql> create database snort;
>Query OK, 1 row affected (0.01 sec)
mysql> grant INSERT,SELECT on root.* to snort@localhost;
>Query OK, 0 rows affected (0.02 sec)
mysql> SET PASSWORD FOR
snort@localhost=PASSWORD('snort_password');
>Query OK, 0 rows affected (0.25 sec)
mysql> grant CREATE, INSERT, SELECT, DELETE, UPDATE on snort.*
to snort@localhost;
>Query OK, 0 rows affected (0.02 sec)
mysql> grant CREATE, INSERT, SELECT, DELETE, UPDATE on snort.*
to snort;
>Query OK, 0 rows affected (0.02 sec)
mysql>exit
148
Bye

Crear las tablas SNORT
/usr/bin/mysql
–u
root
–
p
<
/home/snortinstall/snort-
2.9.0/schemas/create_mysql snort
Ingresar la contraseña (la contraseña root de MYSQL)

Verificar que la base de datos Snort fue creada correctamente:
/usr/bin/mysql –u root –p
mysql> SHOW DATABASES;
(Esto se mostrara)
++
| Database
++
| mysql
| snort
| test
++
3 rows in set (0.00 sec)
mysql> use snort
Database changed
149
mysql> SHOW TABLES;
++
| Tables_in_snort
++
| data
| detail
| encoding
| event
| icmphdr
| iphdr
| opt
| reference
| reference_system
| schema
| sensor
| sig_class
| sig_reference
| signature
| tcphdr
| udphdr
++
150
16 rows in set (0.00 sec)
>exit
INICIO DE SNORT

Para ejecutar Snort ingresar el siguiente comando:
etc/init.d/snortstart (Deberíamos ver el mensaje "Iniciando servicio snort:")

Podemos usar “ps” en cualquier momento para verificar si Snort se está
ejecutando:
ps –ef | grep snort
Y algo como esto deberíamos observar:
root
9582
1
61
15:48
?
00:00:04
/usr/local/bin/snort
–ieth0
–
c/etc/snort/snort.conf–D
ACTUALIZACIÓN AUTOMÁTICA DE LAS REGLAS DE SNORT A
TRAVÉS DE OINKMASTER
Ahora
ya tenemos
Snort instalado,
y necesitamos actualizar las reglas
automáticamente, para ello, descargamos oinkmaster desde su sitio web:
http://oinkmaster.sourceforge.net/download.shtml
151
La versión al día de hoy es la 2.0. la descargamos y nos situamos en el directorio de
descarga y descomprimimos el fichero ejecutamos el siguiente comando:
tar xvzf oinkmaster-2.0.tar.gz

Ingresamos al directorio de oinkmaster
cd oinkmaster-2.0

Copiamos el fichero oinkmaster.pl en el directorio /usr/local/bin
cp oinkmaster.pl /usr/local/bin

Copiamos el fichero de configuración al directorio /etc
cpoinkmaster.conf /etc

A continuación modificamos el fichero de configuración /etc/oinkmaster.conf
para indicar la url de donde se van a descargar las reglas
#url=http://www.snort.org/pubbin/oinkmaster.cgi/<oinkmastercode>/snortrules-snapshot-2900.tar.gz
Donde <oinkmastercode> es el código de suscripción facilitado en la página
web de Snort. Eliminamos la almohadilla del principio, cambiaremos
152
<oinkmastercode> por nuestro código recibido y también la versión del
fichero por la versión de nuestro Snort. Quedaría así:
url=http://www.snort.org/pub-bin/oinkmaster.cgi/<oinkmastercode>/snortrulessnapshot-2900.tar.gz

Guardamos el fichero y salimos del editor

Finalmente para actualizar las reglas de Snort se debe ejecutar oinkmaster
especificando el directorio donde se encuentras las reglas:
oinkmaster.pl –o /etc/snort/rules
Esperamos un rato a que se descarguen y se descompriman.
Para que se actualicen las reglas de forma automática debemos utilizar crontab. Para
ello ejecutamos el comando crontab –e y indicamos cuando queremos ejecutar la
actualización. A continuación se ha programado la actualización a la 01:00 a.m.:
PATH=/usr/local/bin
0 1 * * * /usr/local/bin/oinkmaster.pl –o /etc/snort
153
REQUISITOS NECESARIOS PARA LA INSTALACIÓN DEL FRONT-END
BASE (Basic Analysis and Security Engine)
Paquetes necesarios

Image_Graph

Image_Canvas

Image_Color

Numbers_Roman

Numbers_Words

Log

ADODB

BASE

Nos ubicamos en /home/snortinstall
cd /home/snortinstall

Descargamos los paquetesnecesarios
wget http://download.pear.php.net/package/Image_Graph-0.7.2.tgz
wget http://download.pear.php.net/package/Image_Canvas-0.3.1.tgz
wget http://download.pear.php.net/package/Image_Color-1.0.4.tgz
wget http://download.pear.php.net/package/Numbers_Roman-0.2.0.tgz
wget http://download.pear.php.net/package/Numbers_Words-0.15.0.tgz
154
wget http://download.pear.php.net/package/Log-1.9.16.tgz
wget http://easynews.dl.sourceforge.net/sourceforge/adodb/adodb511.tgz
wget http://easynews.dl.sourceforge.net/sourceforge/secureideas/base1.4.5.tar.gz

Instalación de paquetes necesarios para gráficos de BASE
cd /srv/www/htdocs
tar –xvzf/home/snortinstall/Image_Graph-0.7.2.tgz
mv Image_Graph-0.7.2 Image (renombrar Image_Graph-0.7.2)
tar –xvzf/home/snortinstall/Image_Canvas-0.3.1.tgz
cp-vRImage_Canvas-0.3.1/Canvas* /srv/www/htdocs/Image
rm-RImage_Canvas-0.3.1
tar –xvzf/home/snortinstall/Image_Color-1.0.4.tgz
cp–vR Image_Color-1.0.4_/Color.php /srv/www/htdocs/Image
rm–RImage_Color-1.0.4
tar –xvzf/home/snortinstall/Numbers_Roman-0.2.0.tgz
mv Numbers_Roman-0.2.0Numbers
tar –xvzf/home/snortinstall/Numbers_Words-0.15.0.tgz
155
cp–vRNumbers_Words-0.15.0/Words* /srv/www/htdocs/Numbers
rm–RNumbers_Words-0.15.0
tar –xvzf/home/snortinstall/Log-1.9.16.tgz
mv Log-1.9.16 Log

Instalación del paquete Adodb (conjunto de bibliotecas de bases de datos
para PHP y Python)
cd /srv/www
tar –xvzf /home/snortinstall/adodb511.tgz
INSTALACIÓN DE BASE

Nos ubicamos en /srv/www/htdocs y descomprimimos el paquete de BASE
cd /srv/www/htdocs
tar –xvzf /home/snortinstall/base1.4.5.tar.gz
mv base1.4.5 base (renombrar el directorio base1.4.5 a base)
CONFIGURACIÓN DE BASE

Un ejemplo del archivo de configuración de BASE está incluido en el
paquete. Lo usamos para crear nuestro archivo de configuración.
156
cd base
cpbase_conf.php.distbase_conf.php

Editar base_conf.php como sigue ('snort_password' es la contraseña que se
coloco en la línea 'outputdatabase' de el archivo snort.conf):
$BASE_urlpath = “/base”;
$DBlib_path = "/srv/www/adodb5";
$DBtype = "mysql";
$alert_dbname = "snort";
$alert_host = "localhost";
$alert_port = "";
$alert_user = "snort";
$alert_password = "snort_password";

Grabar el archivo.

Modificar el archivo php.ini ubicado en:/etc/php5/apache2/php.ini
Cambiar: include_path = "/usr/share/php"
A:include_path = "/srv/www/htdocs:/usr/share/php5"
INICIO DE BASE
Abrir el navegador y escribir http://localhost/base
157
La siguiente pantalla debería aparecer:
Fig. 25. Pantalla al iniciar por primera vez BASE
Esto nos dice que la base de datos está incompleta o no es valida. Dar clic en el link
“Setup page” luego en el botón “Create Base AG”, para finalizar la configuración de
la base de datos BASE.
Se verá la siguiente pantalla:
Ir hasta abajo de la página y dar clic en "Main page". La página principal de BASE
debe aparecer
158
PROTECCION DEL DIRECTORIODE BASE
Creamos un archivo de contraseñas y configuramos el control de acceso para el
usuario “base” (el switch –c crea un archivo).
mkdir /srv/www/htpasswd2 –c /srv/www/htdocs/passwords/ base
(el programa le pedirá que establezca una contraseña para el usuario base).
Agregamos las siguientes líneas a el archivo /etc/apache2/httpd.conf
<Directory “/srv/www/htdocs/base”>
AuthType Basic
159
AuthName “SnortIDS”
AuthUserFile “/srv/www/htdocs/passwords/passwords
Requireuser base
</Directory>
Grabamos el archive y reiniciamos el servicio Apache
/etc/init.d/apache2 restart
Una vez hecho esto el directorio de BASE esta protegido con contraseña.
160
SCRIPT SNORT
#!/bin/sh
#
#chkconfig: 2345 99 82
#description: Starts and stops the snort intrusion detection system
#
#config: /etc/snort/snort.conf
#processname: snort
#Source function library - for Redhat
#./etc/rc.d/init.d/functions
BASE=snort
DAEMON="-D"
INTERFACE="-h 192.168.56.0/24"
CONF="/etc/snort/snort.conf"
#Check that $BASE exists.
[ -f /usr/local/bin/$BASE ] || exit 0
# Source networking configuration.
161
# ./etc/sysconfig/network
#
# Check that networking is up.
# [${NETWORKING}="no"] && exit 0
RETVAL=0
# See how we were called.
case "$1" in
start)
if [ -n "`/sbin/pidof $BASE`" ]; then
echo -n $"$BASE: already running"
echo ""
exit $RETVAL
fi
echo -n "Starting snort service:"
/usr/local/bin/$BASE $INTERFACE -c $CONF $DAEMON
sleep 1
#
action "" /sbin/pidof $BASE
/sbin/pidof $BASE
RETVAL=$?
[ $RETVAL -eq 0 ] && touch /var/lock/subsys/snort
162
;;
stop)
echo -n "Shutting down snort service:"
killproc $BASE
RETVAL=$?
echo
[ $RETVAL -eq 0 ] &&rm -f /var/lock/subsys/snort
;;
restart|reload)
$0 stop
$0 start
RETVAL=$?
;;
status)
status $BASE
RETVAL=$?
;;
*)
echo "Usage: snort {start|stop|restart|reload|status}"
exit 1
esac
exit $RETVAL
163
BIBLIOGRAFÍA
Detección de intrusos. Disponible en:
<http://www.segu-info.com.ar/ataques/ataques.htm>
Diccionario informático. Disponible en:
<http://www.glosarium.com>
García Alfaro, Joaquín. Aspectos avanzados de seguridad en redes.Disponible
en:
<http://revistaenter.net/biblia/012.1%20Aspectos%20avanzados%20en%20seguridad
%20en%20redes%20modulos.pdf>
Jiménez, Carlos. Diseño y Optimización de un Sistema de Detección de Intrusos
Híbrido. Disponible en: <http://www.adminso.es/images/8/88/PFC_carlos.pdf>
Revista Red. (noviembre 2002). Seguridad informática ¿Qué, por qué y para
qué?. Disponible en:
http://www.inegi.gob.mx/inegi/contenidos/espanol/ciberhabitat/museo/cerquita/redes/
seguridad/intro.htm
164
Seguridad informática. Disponible en:
<http://es.wikipedia.org/wiki/Seguridad_informatica>
Tipos de IDS. (19 agosto del 2003). Disponible en:
<http://www.maestrosdelweb.com/editorial/snort/>
Verdejo
Alvarez,
Gabriel.
Seguridad
en
redes
IP.Disponible
<http://www.elrinconcito.com/articulos/SeguridadIP/SeguridadIP.pdf>
en:
Descargar