Você está na página 1de 81

SEGURIDAD EN APLICACIONES WEB

Autor: Carlos Alberto Amaya Tarazona


Ingeniero de Sistemas
Magister en Software Libre y Administracin de Redes y sistemas
Operativos

1
CONTENIDO

Pg

UNIDAD 2: ANLISIS Y DISEO SEGURO DE APLICACIONES WEB 5


CAPITULO 4: REAS CRITICAS DE DESARROLLO 5

Leccin 16: SECUENCIAS DE COMANDOS EN SITIOS CRUZADOS (XSS) 6

16.1 Tipos de vulnerabilidades XSS 6

Leccin 17: PERDIDA DE AUTENTICACIN Y GESTIN DE SESIONES 8

Leccin 18: REFERENCIA DIRECTA INSEGURA A OBJETOS 10

Leccin 19: ALMACENAMIENTO CRIPTOGRFICO INSEGURO 11

Leccin 20: RESTRICCIONES DE ACCESO A URL 13

CAPITULO 5: CICLO DE VIDA DE DESARROLLO SEGURO DEL 15


SOFTWARE (SDLC)

Leccin 21: INTRODUCCIN A SDLC 16

Leccin 22: Fases de SDLC 16

22.1 Seguridad en la fase de anlisis 17


22.2 Seguridad en la etapa de diseo 18
22.3 Seguridad en la codificacin 19
22.4 Seguridad en la etapa de pruebas 20
22,5 Seguridad en la implementacin 20

Leccin 23: SDLC-IT 22

Leccin 24: APLICACIN DE SDLC 26

Leccin 25: OTRAS VULNERABILIDADES QUE AFECTAN SDLC 28

25.1 Vulnerabilidades de la capa de transporte 29


25.2 Origen de las vulnerabilidades 30
25.3 Herramientas de monitoreo 31
25.4 Sistema de deteccin de intrusos 32
25.5 Tipos de IDS 32
25.6 Herramientas de gestin 34

CAPITULO 6: ATAQUES DE DENEGACIN DE SERVICIO (DDoS) APLICACIONES


WEB

Leccin 26: DENEGACIN DE SERVICIO (DoS) / (DDoS) 36

2
26.1 Denegacin De Servicio Distribuido: DDoS 37
26.2 Denegacin De Servicio Distribuido: DDoS 38
26.3 Plataformas afectadas 38
26.4 Caracterizacin de los ataques DoS 39
26.4.1 Uso de IP Source Spoofing 39
26.4.2 Similitud de trfico legtimo 40

Leccin 27: FASES PREVIAS A LA REALIZACIN DEL ATAQUE 41

27.1 Actividades previas al ataque (DoS) 41


27.2 Topologa o distribucin fsica 42
27.3 Funcin de ICMP en los ataques DoS 44
27.4 Descubrimiento de usuarios 46
27.5 Informacin del Dominio 46

Leccin 28: FINGERPRINTING 47

28.1 Transmisin en el protocolo de control 47


28.2 Exploracin de puertos 49
28.2.1 Exploracin de puertos UDP 50
28.2.2 Escaneo basado en el protocolo ICMP 51
28.3 Fragmentacin IP 52

Leccin 29: TIPOS DE ATAQUES 56

29.1 ATAQUE TCP/SYN Flooding: 56


29.2 Ataque Broadcast IP Flooding 60
29.3 Smurf 61
29.4 STeardrop 61
29.5 Snork 63
29.6 Ataque Distribuido TRINOO /TRIN00 64

Leccin 30: HERRAMIENTAS QUE AYUDAN A PREVENIR ATAQUES DoS 66

GLOSARIO DE TRMINOS 70
ANEXOS 79
FUENTES DOCUMENTALES 80

3
LISTADO DE FIGURAS

Pg

Figura 21: Prdida de Autenticacin 9


Figura 22: Almacenamiento criptogrfico inseguro 13
Figura 23: Relacin costo tiempo en el desarrollo de aplicaciones web 15
Figura 24: SDLC 17
Figura 25: Escenario de un Ataque de Denegacin de servicio (DoS) 37
Figura 26: Escenario de un Ataque de Denegacin de servicio Distribuido 38
Figura 27: Estructura de un datagrama IP V 4.0 42
Figura 28: Estructura de un mensaje ICMP 43
Figura 29: Cabecera de un datagrama ICMP 44
Figura 30: Topologa de una red genrica 42
Figura 31: Mecanismo de tres vas 48
Figura 32: Datagrama IP No fragmentado 53
Figura 33: Datagrama IP de 4028 fragmentado con MTU de 1500 bytes 54
Figura 34: Reensamblado de frames en Wireshark 55
Figura 35: Fragmentacin y Reensamblado de 4028 bytes con una MTU 55
de 1500 bytes. Analizado en Wireshark
Figura 36: Fragmentacin Reensamblado TCP. Diagrama Flow Graph 56
Figura 37: Escenario para un ataque DoS TCP/SYN Flooding 57
Figura 38: Ataque Broadcast IP Flooding 60
Figura 39: Ataque Smurf 61
Figura 40: Cabecera Paquete IP V 4.0. 62
Figura 41: Ataque DoS Snork 63
Figura 42: Ataque DDoS TRIN00 65
Figura 43: Esquema de comunicaciones de TRIN00 66

4
UNIDAD 2: ANLISIS Y DISEO SEGURO DE APLICACIONES WEB

CAPITULO 4: REAS CRTICAS DE DESARROLLO:

LECCIN 16: SECUENCIA DE COMANDOS EN SITIOS CRUZADOS (XSS)

XSS es un tipo de vulnerabilidad de seguridad informtica tpicamente encontrada


en aplicaciones web que permiten la inyeccin de cdigo por usuarios maliciosos
en pginas web vistas por otros usuarios.

Los atacantes tpicamente se valen de cdigo HTML y de scripts ejecutados en el


cliente. Una vulnerabilidad de este tipo puede ser usada por los atacantes para
burlar los controles de acceso comunes. Recientemente este tipo de ataques han
sido explotados para crear poderosos ataques de phishing y de abusos en el
navegador.

Desde la liberacin del lenguaje JavaScript, se previeron los riesgos de permitir a


un servidor Web enviar cdigo ejecutable al navegador. Un problema se presenta
cuando los usuarios tienen abiertos varias ventanas de navegador, en algunos
casos un script de una pgina podra acceder datos en otra pgina u objeto,
observando el peligro de que un sitio malicioso intentara acceder datos sensibles
de esta forma. Por ello se introdujo la poltica sameorigin. Esencialmente esta
poltica permite la interaccin entre objetos y pginas, mientras estos objetos
provengan del mismo dominio y en el mismo protocolo. Evitando as que un sitio
malicioso tenga acceso a datos sensibles en otra ventana del navegador va
JavaScript.

A partir de entonces se han introducido otros mecanismos y polticas de control en


los navegadores y en los lenguajes en el lado del cliente, para proteger a los
usuarios de sitios maliciosos.

Las vulnerabilidades XSS pueden ser vistas como tcnicas de evasin de las
polticas de proteccin. Encontrando formas ingeniosas de inyectar cdigos
maliciosos en las pginas servidas por otros dominios, un atacante puede ganar
privilegios a datos sensibles, cookies de sesin y otros objetos.

5
16.1 TIPOS DE VULNERABILIDAD XSS

Existen dos diferentes tipos de vulnerabilidades XSS:

Tipo 0: Tambin conocido como basado en el DOM o Local. Con este tipo de
vulnerabilidad, el problema existe en el script del lado del cliente.

Si un cdigo de JavaScript accede a una URL como un parmetro de una peticin


al servidor y utiliza esta informacin para escribir HTML en la misma pgina sin ser
codificada empleando entidades HTML, existe un agujero XSS, dado que estos
datos escritos sern interpretados por los navegadores como cdigo HTML que
puede incluir en si cdigo adicional del lado del cliente.

Los ataques de este tipo pueden devenir en la ejecucin remota de comandos. En


el caso de que el atacante suba un sitio malicioso, que contenga un link a una
pgina vulnerable en el sistema de archivos del cliente, resultando en la ejecucin
con privilegios del navegador del sistema. De esta manera no slo se pasan las
restricciones de comunicacin entre dominios.

Tipo 1: A este tipo de agujero XSS se le conoce tambin como no persistente o


reflejado, y es por mucho el ms comn. Estos agujeros aparecen cuando los
datos provistos por un cliente web son usados inmediatamente en el lado del
servidor para generar una pgina de resultados para el usuario. Si los datos no
validados por el usuario son incluidos en la pgina resultante sin codificacin
HTML, se le permite al cliente inyectar cdigo en la pgina dinmica.

Un ejemplo clsico de este tipo es en los motores de bsqueda, si alguno busca


una cadena que incluya caracteres especiales HTML, comnmente la cadena de
bsqueda ser formateada para representar lo que se busc, o al menos incluir
los trminos de la bsqueda en la caja de texto para ser editados. Si las
ocurrencias de los trminos no son codificados como entidades HTML existe un
agujero XSS.

Esto no parecera un problema dado que los usuarios son los nicos que pueden
inyectar cdigo en sus propias pginas. Pero con un pequeo esfuerzo de
ingeniera social, un atacante puede convencer a alguien de seguir una URL que
se encargue de inyectar el cdigo en esta pgina de resultados, dando al atacante
acceso completo al contenido de la pgina.

La mejor forma de proteger una aplicacin de ataques XSS es asegurarse de que


la aplicacin valide todas las cabeceras, cookies, queries a la base de datos,

6
campos de las formas (entre estos los campos ocultos). Es decir, todos los
parmetros entrantes teniendo como referencia una especificacin rigurosa de lo
que debe ser permitido.

De ninguna manera el proceso de validacin debe intentar identificar el contenido


peligroso y removerlo, filtrarlo o sanearlo. Existen muchos tipos de contenido
activo o peligros y muchas maneras de codificarlo para burlar los filtros para este
tipo de contenido.

Se recomienda ampliamente utilizar un esquema positivo de poltica de seguridad


(listas blancas) que especifique de forma clara lo nico que es permitido

Las polticas de lista negra son complicadas de mantener actualizadas y siempre


con posibilidades de quedar incompletas.

Codificar las salidas que dependan de los datos provistos por el usuario es una
manera eficaz de evitar vulnerabilidades XSS previniendo la transmisin de scripts
insertados a usuarios en una forma ejecutable.

Las aplicaciones pueden ganar proteccin de los ataques basados en JavaScript


convirtiendo los caracteres especiales en su equivalente codificado en entidad
HTML.

1.< &lt; or &#60;


2.> &gt; or &#62;
3.& &amp; or &#38;
4." &quot; or &#34;
5.' &apos; or &#39;
6.( &#40;
7.) &#41;
8.# &#35;
9.% &#37;
10.; &#59;
11.+ &#43;
12. &#45

Es preferible utilizar un esquema de lista blanca como la funcin


HTMLEntityEncode de Java. Adems es crucial deshabilitar el soporte de HTTP
TRACE en los servidores web (Apache, IIS, etc.) al hacerlo evitaremos que el
servidor devuelva los parmetros de la solicitud errnea recibida.

7
La secuencia de comandos en sitios cruzados, ms conocida como XSS 1, es
en realidad un subconjunto de inyeccin HTML El proyecto OWASP incluye dentro
de su Top 10 esta vulnerabilidad con todos los matices y aspectos de proteccin,
entornos afectados, herramientas usadas, monitoreo, ejemplos y sitios online de
prueba para realizar los ataques.

LECCIN 17: PERDIDA DE AUTENTICACIN Y GESTIN DE SESIONES

Concepto: Permiten suplantar la informacin de un usuario determinado.


Ejemplo la cuenta del Administrador para sabotear controles de autorizacin y
registro. Otra caracterstica es el acceso no autorizado a informacin que se
encuentre almacenada en el servidor o los servicios que han sido comprometidos.

Cuando se presentan:

Cuando se gestionan las contraseas.


Cuando expiran las sesiones o el proceso de cierre de sesin.
Cuando hay recuperacin de los valores del usuario de forma automtica.
Cuando se trae la famosa Pregunta secreta.
Cuando se actualiza una cuenta.
Cuando el usuario pierde su contrasea y solicita Recordar contrasea

EJEMPLO DE PRDIDA DE AUTENTICACIN:

Un usuario autenticado puede consultar una serie de artculos de una determinada


categora. Navegando por cada uno de los artculos accede a uno que le interesa
y que quiere compartir con sus amigos, por lo que accede a la URL que tiene en
su navegador.

Luego cierra su navegador y postea en una red social este enlace para que todos
puedan acceder a este curioso artculo.

El servidor no cierra la sesin del usuario. Cualquiera de sus amigos que acceda
a dicho enlace aparecer registrado en la aplicacin como el usuario autenticado

En la figura 21 se ilustra este ejemplo de prdida de autenticacin

1
Disponible en internet desde <https://www.owasp.org/index.php/Top_10_2007-
Secuencia_de_Comandos_en_Sitios_Cruzados_%28XSS%29>

8
Figura 21: Prdida de Autenticacin
Fuente: El Autor

Formas de proteccin:

Cierre de sesin correctamente mediante los enlaces del sitio para ello (no
cerrar ventanas)
Gestin de contraseas
Tiempo de desconexin.
Eliminar la opcin recordar contrasea en los navegadores
Pregunta secreta.
Actualizacin de cuentas.
Utilizar conexiones SSL.
Ingreso de identificadores no vlidos.

9
LECCION 18: REFERENCIA DIRECTA INSEGURA A OBJETOS

Una referencia directa insegura a objetos ocurre cuando un desarrollador expone


una referencia a un objeto de implementacin interno, tal como un fichero,
directorio, o base de datos. Sin un chequeo de control de acceso u otra proteccin,
los atacantes pueden manipular estas referencias para acceder datos no
autorizados.

Por ejemplo, en las aplicaciones Home Banking, es comn usar el nmero de


cuenta como clave primaria. Por lo tanto, es tentador usar el nmero de cuenta
directamente en la interfaz web. Incluso si los desarrolladores tomaron las
medidas necesarias para prevenir ataques de SQL Injection, si no hay
validaciones extra que verifiquen que el usuario es el dueo de la cuenta y que
est autorizado para verla, un atacante puede forzar el parmetro nmero de
cuenta y lograr ver o cambiar todas las cuentas.

Los escenarios tpicos donde se presentan: Una aplicacin presenta una


referencia directa insegura a objetos, por ejemplo, una lista con posibles
documentos que pueden ser seleccionados para ser visualizarlos, donde cada
entrada de la lista referencia directamente a un fichero del sistema de archivos.

Un atacante, como usuario autorizado en el sistema, simplemente modifica el valor


de un parmetro (uno de esos documentos) que se refiere directamente a un
objeto del sistema a otro objeto para el que el usuario no se encuentra autorizado.

Normalmente, las aplicaciones utilizan el nombre o clave actual de un objeto


cuando se generan las pginas web. Las aplicaciones no siempre verifican que el
usuario tiene autorizacin sobre el objetivo. Esto resulta en una vulnerabilidad de
referencia directa insegura a objetos. Los auditores pueden manipular fcilmente
los valores del parmetro para detectar estas vulnerabilidades y un anlisis de
cdigo mostrara rpidamente si la autorizacin se verifica correctamente.

Definicin de objeto: Elementos internos de la aplicacin, es decir, ficheros,


directorios y registros de bases de datos que utiliza nuestra aplicacin para
almacenar informacin, y que son referenciados a travs de parmetros en urls o
en formularios. Por esto ltimo se dice que se realiza una referencia directa de
ellos, porque segn la informacin que contengan estos parmetros, se acceder
a uno u otro dato.

10
Ejemplo de algunas vulnerabilidades:

Enlace a una carga de con la informacin de un nmero de cuenta: Si se


desea ingresar a la informacin de un nmero de cuenta de un usuario que
tiene por identificacin el nmero: 1234567890
URL: https://www.ejemplo/cuentas.php?cuenta=1234567890

Con esto se cargaran los movimientos de dicha cuenta propiedad del usuario. Si
se introduce otro nmero de cuenta cercano por arriba o abajo del nuestro, por
ejemplo 1234567891, en principio, si todo se hubiera hecho correctamente,
debera mostrar un error al estar introduciendo una cuenta ajena, pero si somos
vulnerable a la referencia directa de objetos de forma insegura, mostrar los datos
de esta cuenta sin ser nuestra.

Descarga de un archivo que no es controlada o sin restriccin: Si se tiene


un enlace de descarga de un archivo pdf con el reporte bancario de un
extracto o algo similar en la que el nombre del archivo de la descarga se
referencia por el nmero de cdula del cliente as:

URL: http://www.banco.com/descarga.php?dir=nomina&file=10234765.pdf

Con tan solo modificar un nmero en la cdula del usuario, se podra estar
descargando la informacin de otro usuario,

La referencia directa insegura a objetos, es incluido en el proyecto OWASP dentro


de su Top 10.2

LECCIN 19: ALMACENAMIENTO CRIPTOGRFICO INSEGURO:

Este tipo de vulnerabilidad ocurre cuando:

No se identifican todos los datos sensitivos


No se identifican todos los lugares donde estos datos son almacenados:
Base de datos, ficheros, carpetas, archivos de log, backups, etc.
No se protege esta informacin en todas sus ubicaciones

2
Disponible en internet desde <https://www.owasp.org/index.php/Top_10_2007-
Referencia_Insegura_y_Directa_a_Objetos>

11
Los impactos:

Atacantes acceden o modifican informacin privada o confidencial: Ej.,


tarjetas de crdito, registros mdicos, datos financieros
Atacantes extraen secretos a ser usados en otros ataques
Mala Imagen para la Compaa, clientes insatisfechos, y prdida de
confianza
Gastos para corregir el incidente, tales como anlisis forense, enviar cartas
de disculpas, nueva impresin de tarjetas de crdito, etc.
El Negocio es demandado o multado

Como evitarlo:

Verificar la arquitectura

Identificar todos los datos sensitivos


Identificar todos los lugares donde estos datos son almacenados
Utilice encripcion para contrarrestar las amenazas, no solo para encriptar
datos

Proteger la informacin con mecanismos apropiados

Encripcin en ficheros, base de datos, etc.

Utilizar los mecanismos correctamente

Usar nicamente algoritmos pblicos reconocidos (como AES, RSA, y SHA-


256)
No utilizar algoritmos considerados dbiles (como MD5 o SHA1)
Nunca transmitir claves privadas por canales inseguros
No almacenar informacin innecesaria. Ej, cdigo CVV de tarjeta de crdito
(req. PCI DSS)

Verificar la implementacin

Un algoritmo estndar es utilizado, y es el algoritmo apropiado para dicha


situacin
Todas las llaves, certificados, y contraseas se encuentran debidamente
almacenadas y protegidas
Los mtodos para distribuir las llaves son seguros y efectivos
Mas difcil: Analizar el cdigo de encripcin por posibles fallas

12
Figura 22: Almacenamiento criptogrfico inseguro
Fuente: El Autor

LECCIN 20: RESTRICCIONES DE ACESO A URL:

Comnmente, la nica proteccin de una URL, es que el enlace a esa pgina no


se muestre a usuarios no autorizados. Sin embargo, un atacante motivado,
habilidoso o simplemente con suerte, puede ser capaz de encontrar el acceso a
estas pginas, invocar funciones, y visualizar informacin. La seguridad por
oscuridad no es suficiente para proteger la funcionalidad e informacin en una
aplicacin. La revisin de control de acceso debe ser realizada antes de que una
peticin a una funcin sensible se conceda, lo cual asegura que el usuario est
autorizado para acceder a esa funcin.

Muchas aplicaciones web verifican los privilegios de acceso a URL antes de


generar enlaces o botones protegidos. Sin embargo, las aplicaciones necesitan
realizar controles similares cada vez que estas pginas son accedidas, o los
atacantes podrn falsificar URL para acceder a estas pginas igualmente.

13
Entornos afectados

Todos los entornos de aplicaciones Web son vulnerables a las fallas de


restricciones de acceso a URL.

Caractersticas:

Explotacin fcil: Explotacin es fcil porque solo basta con cambiar la URL
sin privilegios a una pgina con privilegios.
Prevalencia Poco comn: La deteccin de esta falla porque para el atacante
es difcil identificar que URLS tienen esta vulnerabilidad
Deteccin media: Suele pasar inadvertida esta vulnerabilidad por los
escneres. Los escneres de vulnerabilidades y los motores de anlisis
esttico tienen dificultades con la verificacin de control de acceso a URLs,
pero por razones diferentes. Los escneres de vulnerabilidades tienen
dificultades para adivinar las pginas ocultas y determinar qu pginas se
deben permitir para cada usuario, mientras que los motores de anlisis
esttico batallan para identificar los controles de acceso personalizado en el
cdigo y vincular la capa de presentacin con la lgica de negocio.
Impacto moderado: El impacto de esta falla es moderado porque permite el
acceso no autorizado a funciones administrativas de la aplicacin.

Vulnerabilidad:

El mtodo primario de ataque para esta vulnerabilidad es llamado "navegacin


forzada", que abarca adivinado de enlaces y tcnicas de fuerza bruta para
encontrar paginas desprotegidas. Las aplicaciones permiten con frecuencia que el
cdigo de control de acceso se desarrolle y se separe a travs de cdigo fuente,
dando como resultado un modelo complejo que sea difcil de entender para los
desarrolladores y para los especialistas de la seguridad tambin. Esta complejidad
hace que sea probable que se produzcan errores de pginas perdidas, dejndolas
expuestas

Algunos ejemplos comunes de estos defectos incluyen:

URL "ocultas" o "especiales, suministradas slo a administradores o


usuarios con privilegios, pero accesibles a todos los usuarios si ellos saben
que existen, tales como /administrar/agregarusuario.php o
/aprobarTransferencia.do. Esto es particularmente predominante con cdigo
de men.

14
Las aplicaciones a menudo permiten el acceso a archivos "ocultos", tales
como XML estticos o reportes generados por el sistema, confiando en la
seguridad por oscuridad para ocultarlos

Proteccin.

Bloquear o eliminar pginas mediante un archivo robots.txt

CAPITULO 5: CICLO DE VIDA DE DESARROLLO SEGURO DE SOFTWARE


(SDLC)

LECCIN 21: INTRODUCCIN A SDLC:

Actualmente la mayora de los procesos de desarrollo no incluyen seguridad, o


bien la incluyen al final (etapa de testing). El costo de solucionar las
vulnerabilidades es mayor cuanto ms tarde se detectan las mismas (igual que los
bugs). En la figura 23 se identifica la relacin costo tiempo con las fases de
desarrollo de una aplicacin web.

Figura 23: Relacin costo tiempo en el desarrollo de aplicaciones web


Fuente: El Autor

15
El modelado de amenazas es una tcnica formal, estructurada y repetible que
permite determinar y ponderar los riesgos y amenazas a los que estar expuesta
una aplicacin y que puede aplicarse al Ciclo de Vida del Desarrollo de Software
(SDLC).

AL rededor de este ciclo de vida de desarrollo seguro de software, surgen mitos


que vencer como:

La seguridad de la aplicacin es responsabilidad del programador.


Nadie sabe cmo funciona, por ende, no la van a atacar.
A nadie le interesara atacar nuestra aplicacin.
La aplicacin es segura porque corre detrs de un firewall.
La aplicacin es segura porque usa encripcin.
Si no corre como Administrator / root, no funciona.
No hay tiempo para incluir seguridad

Para eliminar estas premisas, la tendencia actual y que se debe seguir para
aplicar el ciclo de desarrollo, enmarca aspectos como:

Participacin de Seguridad Informtica desde el comienzo de todos los proyectos


de desarrollo.

Incorporar seguridad a lo largo de todas las etapas del ciclo de vida del desarrollo
de software (SDLC).

LECCIN 22: FASES DE SDLC:

El ciclo de desarrollo de los sistemas o ciclo de vida de los sistemas (SDLC:


Systems Devetopment Life Cycle) es un enfoque por etapas de anlisis y de
diseo, que postula que el desarrollo de los sistemas mejora cuando existe un
ciclo especfico de actividades del analista y de los usuarios.

16
Figura 24: SDLC
Fuente: <CLARK, Justin. SDLC >

22.1 SEGURIDAD EN LA FASE DE ANLISIS: Durante el anlisis de


requerimientos, se pueden identificar diversas caractersticas que derivarn en los
requerimientos de seguridad del software. Por ejemplo:

Arquitectura de la aplicacin: Cliente/servidor o Desktop?

Plataforma donde correr la aplicacin: PC / Palm / Telfono celular

Tipos de datos que se almacenan o transfieren: Confidenciales / pblicos

Requerimiento de compliance con normativas y marcos regulatorios: SOX, PCI-


DSS, A 4609

Tipos de registro que el sistema debe generar: Acceso a recursos, uso de


privilegios, etc.

Perfiles de usuario necesarios para la aplicacin: Administrador, revisor, editor,


usuario bsico, etc.

Tipos de acceso a los datos por parte de cada perfil: Lectura, escritura,
modificacin, agregado, borrado, etc.

Acciones sobre el sistema que puede hacer cada perfil: Cambiar la configuracin
del sistema, arrancar o detener servicios

Modos de autenticacin: Passwords, Tokens, Biomtricos.

17
22.2 SEGURIDAD EN LA ETAPA DE DISEO: Muchas de las vulnerabilidades
encontradas en aplicaciones web tienen su causa en errores de diseo. Ejemplos
de ello:

Aplicacin Home banking (WEB): Inclua el nmero de cuenta en el request de


transferencias. No validaba que la cuenta origen perteneciera al usuario logueado.
Vulnerabilidad: Transferencias desde cuentas ajenas

Aplicacin de Adm y Finanzas (Consola Unix): Tomaba el usuario de una variable


de entorno. Permita que el usuario escapara a un Shell. Vulnerabilidad: Se
puede establecer un usuario arbitrario

Buenas prcticas para el diseo de una aplicacin segura incluyen aspectos


como:

Reduccin de Superficie de ataque


Criterio del menor privilegio
Fallar de manera segura
Criterio de defensa en profundidad
Diseo seguro de mensajes de error
Diseo seguro de autenticacin
Separacin de privilegios
Interaccin amigable con Firewalls e IDS's.
Administracin segura informacin Sensible
Diseo de Auditora y Logging
Anlisis de riesgo

Durante esta etapa de diseo se suelen aplicar tcnicas para analizar el riesgo,
como:

Anlisis de riesgo Threat Modeling: Tcnica formal, estructurada y repetible


que permite determinar y ponderar los riesgos y amenazas a los que estar
expuesta nuestra aplicacin.

Consta de las siguientes etapas:

1) Conformar un grupo de anlisis de riesgos

2) Descomponer la aplicacin e identificar componentes clave.

3) Determinar las amenazas a cada componente de la aplicacin.

4) Asignar un valor a cada amenaza.

18
5) Decidir cmo responder a las amenazas.

6) Identificar las tcnicas y tecnologas necesarias para mitigar los riesgos


identificados.

Mtodo STRIDE: Ayuda a identificar amenazas en los componentes de un


sistema. Su nombre es un acrnimo de:

Spoofing Identity: Suplantar la identidad de otro usuario o servicio.

Tampering with Data: Modificar maliciosamente datos almacenados.

Repudiation: Imposibilidad de identificar el autor de una accin.

Information Disclosure: Divulgar informacin a usuarios no autorizados.

Denial of Service: Provocar que un servicio deje de funcionar.

Elevation of privilege: Conseguir privilegios mayores a los asignados

Mtodo DREAD: Ayuda a ponderar las amenazas identificadas. Es un acrnimo


de los siguientes 5 tems:

Damage Potencial: Cun importante es el dao de esta amenaza?

Reproducibility: Cun reproducible es la vulnerabilidad?

Exploitability: Cun fcil es de explotar?

Affected Users: Cules y cuntos usuarios se veran afectados?

Discoverability: Cun fcil de descubrir es la vulnerabilidad?

22. 3 SEGURIDAD EN LA CODIFICACIN: La falta de controles adecuados en la


codificacin, muchas veces deriva en vulnerabilidades que pueden comprometer a
la aplicacin o a los datos de la misma

Los tipos de vulnerabilidades ms habituales y que directamente son producto de


una codificacin de mediano y bajo perfil de seguridad son:

19
Stack buffer overflows
Heap buffer overflows
SQL Injections
Cross Site Scripting (XSS)
Directory Traversal
Stack buffer overflows
Heap buffer overflows
SQL Injections
Cross Site Scripting (XSS)
Directory Traversal

Las prcticas recomendadas para la codificacin segura cuando se desarrollan


aplicaciones web son:

Validar siempre los datos de entrada antes de procesarlos


Nunca confiar en que los datos recibidos sean correctos.
Realizar validacin de datos en todas las capas
Usar siempre criterio de White List en las validaciones
Controlar tamao y tipo de datos
Sanitizar los valores de entrada y salida
Eliminar o escapear caracteres especiales
Transformar los datos de entrada a un encoding establecido
Reemplazar sentencias SQL dinmicas por Stored Procedures
Evitar generar cdigo con valores ingresados por el usuario
No mezclar datos con cdigo
Capturar errores de capas inferiores y no mostrarlos al usuario

22.4 SEGURIDAD EN LA ETAPA DE TESTING (PRUEBAS): Se aplican varias


tcnicas en esta etapa:

Testing de seguridad funcional: Testing Funcional (clsico) aplicado a las


funcionalidades de seguridad de una aplicacin. Ejemplos:

Requisitos. de autenticacin
Requisitos. de complejidad de contraseas Bloqueo automtico de cuentas
Funcionalidad de captchas
Restricciones de acceso segn diseo
Mecanismos de registro y logging
Mensajes de error especificados

20
Testing de seguridad basado en Riesgo: Tcnica que se desprende del Threat
Modelling. Se identifican todas las interfaces de la aplicacin. Se generan casos
de test sobre cada interfaz basado en STRIDE

Testing con un cliente / server falso: Consiste en disear un cliente o server Ad


Hoc que permita:

Enviar peticiones /respuestas incorrectas o invlidas.


Enviar peticiones/ respuestas fuera de orden.
Insertar delays arbitrarios.
Comportarse de manera diferente al cliente o servidor real.

Test de stress: Consiste en llevar la carga o funcionalidad de la aplicacin al


lmite

Generar una carga alta de peticiones/transacciones a la aplicacin.


Mantener esta carga durante tiempos prolongados.
Simular trfico en rfagas.

Test de mutacin de datos: Se testea la aplicacin ingresando en sus interfaces


datos mutados. Entre estos datos se pueden citar: Diferente signo, diferente tipo,
diferente longitud, fuera de rango, caracteres especiales, cdigo (ej: javascripts),
valores nulos, valores aleatorios

22.5 SEGURIDAD EN LA ETATA DE IMPLEMENTACION: Se suelen aplicar


tcnicas como: Hardening de software de base que comprende aplicar aspectos
como:

Servicios innecesarios
Usuarios y contraseas default
Configuracin de intrpretes
Proceso de implementacin
Separacin de ambientes
Administracin de implementacin y mantenimiento
Releases y Patches
Firma de cdigo

21
LECCIN 23: SDLC - IT:

(SDLC - IT: Systems Devetopment Life Cycle for Information Tecnologies) En


general, los analistas no estn de acuerdo respecto al nmero exacto de etapas
que conforman el ciclo de desarrollo de los sistemas para aplicaciones, y en
general para las tecnologas de la informacin; sin embargo, se reconoce la
importancia de su enfoque sistemtico. Este ciclo especfico de vida consta de
siete capas o etapas que aunque se presentan de manera discreta, nunca se
llevan a cabo como un elemento Independiente. En lugar de ello se realizan
al mismo tiempo diversas actividades, y stas llegan a repetirse. Por ello es de
mayor utilidad suponer que e! ciclo de desarrollo de los sistemas transcurre en
etapas (con actividades en accin que luego cesan poco a poco) y no como
elementos separados

1) Identificacin de problemas, oportunidades y objetivos.

En esta primera etapa del ciclo de desarrollo de los sistemas, el analista se


involucra en la identificacin de los problemas, de las oportunidades y de los
objetivos. Esta fase es crucial para el xito del resto del proyecto, pues nadie
estar dispuesto a desperdiciar su tiempo dedicndolo al problema equivocado.

La primera etapa requiere que el analista observe de forma objetiva lo que ocurre
en una empresa. Luego, en conjunto con los otros miembros de la organizacin
har notar los problemas. Muchas veces esto ya fue realizado previamente: y por
ello es que se llega a invitar al analista.

Las oportunidades son acuellas situaciones que el analista considera que pueden
perfeccionarse mediante el uso de los sistemas de informacin computarizados. Al
aprovechar las oportunidades, la empresa puede lograr una ventaja competitiva o
llegar a establecer un estndar industrial.

La identificacin de objetivos tambin es un componente importante de la primera


fase. En un comienzo, el analista deber descubrir lo que la empresa intenta
realizar, y luego estar en posibilidad de determinar si el uso de los sistemas de
informacin apoyara a la empresa para alcanzar sus metas, el encaminarla a
problemas u oportunidades especficas.

2) Determinacin de los requerimientos de informacin.

La siguiente etapa que aborda el analista, es la determinacin de los


requerimientos de informacin a partir de los usuarios particularmente

22
involucrados. Para identificar los requerimientos de informacin dentro de a
empresa, pueden utilizarse diversos instrumentos, los cuales incluyen: el
muestreo, el estudio de los datos y formas usadas por la organizacin, la
entrevista, los cuestionarios: la observacin de la conducta de quien toma
las decisiones, asi como de su ambiente: y tambin el desarrollo de prototipos.

En esta etapa el analista hace todo lo posible por identificar qu informacin


requiere el usuario para desempear sus tareas. Puede ver, cmo varios de los
mtodos para establecer las necesidades de informacin, lo obligan a
relacionarse directamente con los usuarios. Esta etapa sirve para elaborar la
imagen que el analista tiene de la organizacin y de sus objetivos. En ocasiones,
se llegan a concluir slo las primeras dos etapas del ciclo de desarrollo de los
sistemas. El analista es e! especialista que emprende esta clase de estudios.

3) Anlisis de las necesidades del sistema.

La siguiente etapa que ejecuta el analista de sistemas consiste en analizar las


necesidades propias del sistema. Una vez ms, existen herramientas y tcnicas
especiales que facilitan al analista la realizacin de las determinaciones
requeridas. Estas incluyen el uso de los diagramas de flujo de datos (DFD)que
cuentan con una tcnica estructurada para representar en forma grfica la entrada
de datos de la empresa, los procesos y la salida de la informacin. A partir del
diagrama de flujo de datos se desarrolla un diccionario de datos que contiene
todos los elementos que utiliza el sistema, as como sus especificaciones, si
son alfanumricos, descripcin, clave primaria, entre otros.

Durante esta fase. el analista de sistemas tambin analiza las decisiones


estructuradas por realizar, que son decisiones donde las condiciones,
condiciones alternativas, acciones y reglas de accin podrn determinarse.
Existen tres mtodos para el anlisis de las decisiones estructuradas: el
lenguaje estructurado (en nuestro caso el espaol), las tablas de decisin y los
rboles de decisin.

No todas las decisiones en las empresas se encuentran estructuradas; no


obstante, es importante que las comprenda e! analista de sistemas. Las
decisiones semiestructuradas (decisiones que se toman bajo nesgo) con
frecuencia se apoyan en los Sistemas de Toma de Decisiones. Cuando analiza
las decisiones semiestructuradas. el analista las examina de acuerdo con el
grado de complejidad del problema y con el nmero de criterios considerados al
llevar a cabo las decisiones.

23
El anlisis de decisiones de criterio mltiple (aquellas decisiones donde
numerosos factores tienen que equilibrarse) tambin es parte de esta etapa.
Se disponen de muchas tcnicas para e' anlisis de decisiones de criterio mltiple;
incluyendo entre otras, e! proceso de intercambio y la aplicacin de mtodos de
ponderado.

A esta altura del ciclo de desarrollo del sistema, el analista prepara una propuesta
del sistema que resume todo lo que ha encontrado, presenta un anlisis costo /
beneficio de las alternativas y plantea las recomendaciones (si es que
existen) de lo que deber realizarse. Si la direccin acepta alguna de las
recomendaciones, el analista proceder de acuerdo con ella.

4) Diseo del sistema recomendado.

En esta etapa del ciclo de desarrollo de los sistemas, el analista de sistemas usa
la informacin que recolect con anterioridad y elabora el diseo lgico del
sistema de informacin. El analista disea procedimientos precisos de captura
de datos, con el fin de que los datos que se introducen al sistema sean los
correctos. Ei analista tambin disea accesos efectivos al sistema de
informacin, mediante el uso de las tcnicas de diseo de formularios y de
pantallas.

Una parte del diseo lgico del sistema de informacin es el diseo de la interfaz
con el usuario. La interfaz conecta al usuario con el sistema, y evidentemente, es
de suma importancia. Seran ejemplos de interfaces para el usuario: el uso del
teclado para introducir preguntas o respuestas, el uso de mens en la pantalla,
con las opciones que tiene el usuario, el uso de dispositivos como el ratn (mouse)
y muchos otros.

La etapa del diseo tambin incluye e! diseo de los archivos o la base de datos
que almacenar aquellos datos requeridos por quien toma las decisiones en la
organizacin. Una base de datos bien organizada es fundamental para cualquier
sistema de informacin. En esta etapa, el analista disea la salida (en pantalla o
impresa) hacia el usuario, de acuerdo con sus necesidades de informacin.

5) Desarrollo y documentacin del software

En esta etapa del ciclo de desarrollo de los sistemas, el analista trabaja con los
programadores para desarrollar todo el software original que sea necesario.
Dentro de las tcnicas estructuradas para el diseo y documentacin de! software
se tienen: el mtodo HIPO, los diagramas de flujo. ios diagramas Nassi-

24
Schneiderman, ios diagramas Warnier-Orr y el pseudocdigo. Aqu es donde, el
analista de sistemas transmite al programador los requerimientos de
programacin.

Durante esta fase, el analista tambin colabora con los usuarios para desarrollar
la documentacin indispensable del software, incluyendo los manuales
de procedimientos. La documentacin le dir al usuario como operar el software, y
as tambin, qu hacer en caso de presentarse algn problema.

6) Pruebas v mantenimiento del sistema.

El sistema de informacin debe probarse antes de utilizarlo. E! costo es menor si


se detectan los problemas antes ci la entrega del sistema. El programador
realiza algunas pruebas por su cuenta, otras se llevan a cabo en colaboracin con
el analista de sistemas. En un principio, se hace una serie de pruebas, con
datos tipo, para identificar las posibles fallas del sistema: ms adelante, se
utilizarn los datos reales.

El mantenimiento del sistema y de su documentacin empiezan justamente en


esta etapa: y despus, esta funcin se realizar de forma rutinaria a lo largo de
toda la vida del sistema. Las actividades de mantenimiento integran una buena
parte de la rutina

del programador, que para las empresas llegan a implicar importantes sumas
de dinero. Sin embargo, el costo del mantenimiento disminuye de manera
importante cuando el analista aplica procedimientos sistemticos en el
desarrollo de los sistemas.

7) Implantacin y evaluacin de sistema.

En esta ltima etapa del desarrollo del sistema, el analista ayuda a implantar el
sistema de informacin. Esto incluye el adiestramiento que el usuario requerir.
Si bien, parte de esta capacitacin la dan las casas comerciales, la supervisin
del adiestramiento es una responsabilidad del analista de sistemas.
Ms an, el analista necesita planear la suave transicin que trae consigo un
cambio de sistemas.

25
Aunque la evaluacin del sistema se plantea como parte integrante de la ltima
etapa del ciclo de desarrollo de los sistemas; realmente, la evaluacin toma parte
en cada una de las etapas. Uno de los criterios fundamentales que debe
satisfacerse, es que el futuro usuario utilice el sistema desarrollado.

LECCIN 24: APLICACIN DE SDLC:

El ciclo de desarrollo de aplicaciones sigue siendo uno de los puntos de ms


complejidad en el entorno TI, una preocupacin constante por parte de los
desarrolladores que requiere de un desgaste muy alto en recursos, dinero y
estrs. La solucin pasa por estandarizar el proceso de desarrollo:

Definir los criterios de calidad en relacin a las necesidades. Como


siempre, hay que intentar ser pragmtico, definir algo medible y del cual
podremos obtener un feedback en tiempo real.
Publicar las mtricas de calidad de desarrollo. La transparencia es clave
para ganar la confianza del negocio y demostrar el valor aportado.
Revisar los objetivos de los diferentes equipos y proveedores para incluir
criterios claros y medibles de calidad.
Pasar ms tiempo en definir correctamente los requerimientos. Todos
tenemos en mente proyectos que han arrancado sobre una definicin de
requerimientos insuficiente.
Definir y estandarizar planes de prueba ms inteligentes para probar menos
y mejor.
Utilizar una plataforma integrada que consolide la informacin de demanda,
costes, recursos, calidad y as simplificar y flexibilizar el proceso.

PRUEBAS Y CALIDAD: La planificacin de prototipos, pruebas y tests para el


aseguramiento de la calidad es tambin un tema muy tratado en la ingeniera del
Software y en el proceso cclico de diseo de aplicaciones seguras.

Para que un proyecto software tenga xito, es necesario que el resultado cuente
con la calidad esperada por el cliente o los usuarios. As pues, la calidad del
proyecto deber poderse definir en trminos de prestaciones, respuestas
esperadas a determinadas acciones, o accesibilidad del producto en diferentes

26
condiciones para poder probarla posteriormente mediante unos tests de calidad
especficos.

Deber ser posible realizar un plan de pruebas o de aseguramiento de la calidad


que clasifique las actividades relacionadas con la calidad del producto segn su
importancia, y que defina con qu frecuencia y qu resultados se deberan obtener
de cada una para pasar a la siguiente o para cumplir los requisitos para esa
release en particular.

El proceso de aseguramiento de la calidad no trata nicamente de que el producto


pase todos los tests establecidos, sino que implicar en muchos casos aspectos
como:

El uso de hojas de estilo aprobadas por los usuarios.


La confeccin y repaso de checklists sobre funcionalidades.
La revisin peridica del producto con los usuarios
Las herramientas que pondremos a disposicin de los usuarios para
comunicar los errores o sugerencias.
El uso de herramientas de anlisis para medir la respuesta del proyecto a
determinadas situaciones, o para simular un uso normal del mismo

Los modelos tradicionales de ciclo de vida del software incluan la fase de pruebas
como un proceso que haba que llevar a cabo una vez finalizado el desarrollo.
Esto se ha probado que resulta altamente contraproducente, no slo por el coste
de arreglar fallos o deficiencias una vez terminado el desarrollo, sino por la
naturaleza evolutiva de muchos proyectos (sobre todo en entornos de software
libre), en los que la fase de desarrollo no termina nunca estrictamente hablando.

As pues, se tiende a incorporar las pruebas (o los mecanismos para llevarlas a


cabo de modo automatizado) en el desarrollo desde el primer momento.
Tecnologas como las pruebas unitarias o modelos como el pair-programming o el
peer-testing nos ayudarn a mantener una disciplina en el desarrollo y a aumentar
la calidad del resultado del proyecto.
3SEGURIDAD EN LA APLICACIN DE SDLC: Los principios bsicos de la
seguridad de un sistema son los siguientes:

Confidencialidad: los recursos (o funcionalidades sobre ellos) son accesibles slo


para los usuarios (o procesos) autorizados.

3
AYCART, David. Ingeniera del software en entornos de SL. P 24-27. UOC

27
Integridad: los recursos pueden ser modificables slo por los usuarios
autorizados.

Disponibilidad: los recursos accesibles estn disponibles.

Muy frecuentemente, la seguridad de un proyecto ir ms all del mismo,


afectando al sistema en el que ste se va a implantar, y por lo tanto deberemos
asegurar que su implantacin deja al sistema final en un estado seguro.

Es por esta razn por lo que, en la fase de diseo del proyecto, se debe tener en
cuenta la seguridad del mismo, primero de forma general mediante un anlisis de
riesgos y de actividades destinadas a mitigarlos, y ms adelante mediante la
ampliacin de los casos de uso segn los principios bsicos de la seguridad
comentados anteriormente

El anlisis de riesgos consistir, de forma muy resumida, en las siguientes


actividades:

Recopilacin de los recursos que deben ser protegidos. La informacin, todo un


sistema, un slo dispositivo, etc.

Clasificacin de los actores del proyecto. Cules son sus casos de uso y qu roles
representan.

Recopilacin de requisitos legales y de negocio. Certificaciones que hay que


cumplir, restricciones de encriptacin por exportacin a determinados pases o
bien reglas de negocio ms especficas como la aceptacin o no de la repudiacin
por parte de los usuarios.

Con la informacin recopilada, deberamos ser capaces de construir una tabla en


la que, para cada riesgo, estimramos el coste que tiene por incidente, y a partir
de una estimacin de incidentes por ao, nos permitiera decidir sobre la estrategia
que hay que implantar (aceptar el riesgo tal como es y definir un plan de
contingencia en caso de producirse, o bien mitigarlo mediante desarrollos
adicionales, otras herramientas o cambios en el diseo que lo permitan).

LECCIN 25: OTRAS VULNERABILIDADES QUE AFECTAN LOS SDLC

La seguridad en aplicaciones web no solo reside en las capas superiores del


modelo OSI, como hemos visto en las lecciones anteriores. Tampoco en el nico
entorno de aplicacin que se despliegue, ejecute o administre en (navegadores,
28
servidores, clientes). Iniciamos ac una temtica de seguridad que afecta
directamente a las aplicaciones web y que independiente de la forma como se le
haya aplicado los ciclos de desarrollo seguro (SDLC), van a estar afectadas y que
es de relevancia tratarlas. Una de ellas son las denegaciones de servicio y que a
continuacin se plasma ms como la solucin a detectarlas y mitigarlas que a
definirlas y conceptualizarlas.

Son muchas las estrategias y herramientas que enmarcan estudios completos con
miras a detectar, prevenir y contrarrestar ataques de Denegacin de Servicio. Los
mtodos ms comunes hacen uso del filtrado de paquetes, como una solucin
viable y eficaz a este problema.

Hay otra estrategia que es la modificacin de la pila TCP/IP en los sistemas


operativos. Mientras que los ataques SYN no puede ser totalmente prevenibles, el
ajuste de la pila TCP / IP ayudar a reducir el impacto de ataques SYN al tiempo
que permite el trfico de clientes legtimos con sus respectivos paquetes.
Actualmente los sistemas operativos integran mecanismos de proteccin como las
galletas o SYN SynAttackProtect como barrera para contrarrestar estas
amenazas.

Las investigaciones que se encuentran frente a esta situacin, son de diversa


ndole y tratan estas estrategias de manera particular. Estudios interesantes han
llevado a tratar las caractersticas del protocolo TCP y modificarlas con el fin de
cambiar el comportamiento de la pila TCP / IP. Pero esto puede tener
consecuencias graves cuando se trata de comunicarse con otros sistemas de
diferente topologa, MTU, filtrado, etc.

Finalmente, cada resultado de una investigacin, encadena otro que propone un


complemento o mejora para resolver el problema, y cada autor le da camino a su
investigacin de acuerdo a la necesidad urgente o escenario propio de cada
situacin.

El escenario de los ataques de denegacin de servicio (DoS) a aplicaciones web,


nos ubica en la capa de transporte del modelo OSI.

25.1 VULNERABILIDADES DE LA CAPA DE TRANSPORTE:4

La capa de transporte transmite informacin TCP o UDP sobre datagramas IP. En


esta capa podamos encontrar problemas de autenticacin, de integridad y de

4
JOANCOMARTI, Jordi Herrera. Aspectos Avanzados de seguridad en redes. Seg edicin. Barcelona Espaa
2005. 62p

29
confidencialidad. Algunos de los ataques ms conocidos en esta capa son las
denegaciones de servicio debidas a protocolos de transporte.

En cuanto a los mecanismos de seguridad incorporados en el diseo del protocolo


de TCP (como las negociaciones involucradas en el establecimiento de una sesin
TCP), existe una serie de ataques que aprovechan ciertas deficiencias en su
diseo. Una de las vulnerabilidades ms graves contra estos mecanismos de
control puede comportar la posibilidad de interceptacin de sesiones TCP
establecidas, con el objetivo de secuestrarlas y dirigirlas a otros equipos con fines
deshonestos.

Estos ataques de secuestro se aprovechan de la poca exigencia en el protocolo de


intercambio de TCP respecto a la autenticacin de los equipos involucrados en
una sesin. As, si un usuario hostil puede observar los intercambios de
informacin utilizados durante el inicio de la sesin y es capaz de interceptar con
xito una conexin en marcha con todos los parmetros de autenticacin
configurados adecuadamente, podr secuestrar la sesin.

25.2 ORIGEN DE LAS VULNERABILIDADES: Las vulnerabilidades pretenden


describir las debilidades y los mtodos ms comunes que se utilizan para
perpetrar ataques a la seguridad de la familia de protocolos TCP/IP
(confidencialidad, integridad y disponibilidad de la informacin).

Amenazas Consecuencias

INTEGRIDAD

Datos modificados Informacin perdida

Caballo de Troya Maquina penetrada

Memoria cambiada Vulnerabilidad a otras amenazas

Mensajes modificados Informacin degradada, daada

CONFIDENCIALIDAD

Mensajes escuchados en la red Perdida de privacidad

Datos robados de servidores Revela contraseas etc.

Anlisis de trafico Identifica patrones de acceso

Detecta configuracin de la red Facilita otros ataques

DENIAL OF SERVICE

30
Procesos matados Molestias

Inundacin con paquetes Interferencia con trabajo

Llenado de discos Denegacin a servicios

Aislamiento de mquinas (DNS) Aislamiento de la red

AUTENTIFICACIN

Identidades falsas Acciones atribuidas al usuario

Datos falsos Dao al nombre institucional

Tabla3. Tipos de Amenazas


Fuente: <El Autor>

La tabla (3) muestra en resumen el tipo de amenazas y las consecuencias que le


producen al sistema. Las amenazas estn clasificadas en los cuatro aspectos
bsicos y esenciales que afectan la seguridad: La integridad, la Confidencialidad,
las denegaciones de servicio (de las que se encarga este trabajo) y las de
Autenticacin

25.3 HERRAMIENTAS DE MONITOREO:

Son muchas las estrategias y herramientas de monitoreo que existen para ser
aplicadas a entornos de comunicaciones y redes tipo Ethernet. La mayora de
ellas funcionan sobre plataformas de cdigo abierto lo que les ofrece grandes
posibilidades de expansin y de parametrizacion de acuerdo a las necesidades del
Administrador de red.

Nagios: 5La monitorizacin cualitativa de los servicios se realiza mediante el


sistema Nagios siendo este un sistema potente que permite seguir el estado de
mltiples servicios de red en mltiples servidores y avisar a personas o grupos de
personas responsables de los mismos. En Nagios se permiten escaladas de
avisos en funcin del tiempo de parada y otros parmetros, mltiples mtodos de
aviso (correo electrnico, SMS...) y presentacin grfica muy prctica del estado
actual y del histrico de estados.

Nessus: La herramienta Nessus permite escanear vulnerabilidades cuando se


trata de transferencia de datos y ejecucin de servicios en diferentes sistemas
operativos. Genera informes que permiten ejecutar las acciones correctivas

5
Herramientas de Gestin Nagios, Nessus [web en lnea]. Disponible desde Internet en:
<http://www.csi.map.es/csi/tecnimap/tecnimap_2006/01T_PDF/monitorizacion.pdf>

31
adecuadas (parcheo, reconfiguracin de servicios, adicin de reglas de
cortafuegos). Su arquitectura cliente servidor consiste en nessusd, el daemon
Nessus, que realiza el escaneo en el sistema objetivo, y nessus, el cliente (basado
en consola o grfico) que muestra el avance y reporte de los escaneos. Desde
consola nessus puede ser programado para hacer escaneos programados con
cron (administrador de procesos en segundo plano).

25.4 SISTEMA DE DETECCIN DE INTRUSOS:

Un IDS o Sistema de Deteccin de Intrusiones es una herramienta de seguridad


que intenta detectar o monitorizar los eventos ocurridos en un determinado
sistema informtico o red informtica en busca de intentos de comprometer la
seguridad de dicho sistema. Aportan a la seguridad de una red la capacidad de
prevencin y de alerta anticipada ante cualquier actividad sospechosa. No estn
diseados para detener un ataque, aunque s pueden generar ciertos tipos de
respuesta ante stos. Vigilan el trfico de nuestra red, examinan los paquetes
analizndolos en busca de datos sospechosos y detectan las primeras fases de
cualquier ataque como pueden ser el anlisis de la red, barrido de puertos, etc.6

25.5 TIPOS DE IDS:

HIDS (Host IDS): Protege contra un nico Servidor, PC o host. Monitorizan gran
cantidad de eventos, analizando actividades con una gran precisin, determinando
de esta manera qu procesos y usuarios se involucran en una determinada
accin. Recaban informacin del sistema como ficheros, logs, recursos, etc, para
su posterior anlisis 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 informtica.

NIDS (Net IDS): Protege un sistema basado en red. Actan sobre una red
capturando y analizando paquetes de red, es decir, son sniffers del trfico de red.
Luego analizan los paquetes capturados, buscando patrones que supongan algn
tipo de ataque.

Bien ubicados, pueden analizar grandes redes y su impacto en el trfico suele ser
pequeo. Actan mediante la utilizacin de un dispositivo de red configurado en
modo promiscuo (analizan, ven todos los paquetes que circulan por un segmento

6
Sistema de deteccin de Intrusos y Snort. Disponible desde Internet en:
<http://seguridadyredes.nireblog.com/post/2007/12/28/sistemas-de-deteccion-de-intrusos-y-snort-i>

32
de red aunque estos nos vayan dirigidos a un determinado equipo). Analizan el
trfico de red, normalmente, en tiempo real. No slo trabajan a nivel TCP/IP,
tambin lo pueden hacer a nivel de aplicacin.

Otros tipos son los hbridos. Por el tipo de respuesta se pueden clasificar 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 acta
sobre el ataque o atacante.

Activos: Generan algn tipo de respuesta sobre el sistema atacante o fuente de


ataque como cerrar la conexin o enviar algn tipo de respuesta predefinida en
nuestra configuracin.

Snort: Snort es un IDS o Sistema de deteccin de intrusiones basado en red


(NIDS). Implementa un motor de deteccin de ataques y barrido de puertos que
permite registrar, alertar y responder ante cualquier anomala previamente definida
como patrones que corresponden a ataques, barridos, intentos aprovechar alguna
vulnerabilidad, anlisis de protocolos, etc conocidos. Todo esto en tiempo real.

Snort est disponible bajo licencia GPL, gratuito y funciona bajo plataformas
Windows y UNIX/Linux. Es uno de los ms usados y dispone de una gran cantidad
de filtros o patrones ya predefinidos, as como actualizaciones constantes ante
casos de ataques, barridos o vulnerabilidades que vayan siendo detectadas a
travs de los distintos boletines de seguridad.7

Este IDS implementa un lenguaje de creacin de reglas flexibles, potente y


sencilla. Durante su instalacin ya provee de cientos de filtros o reglas para
backdoor, ddos, finger, ftp, ataques web, CGI, escaneos Nmap. Puede funcionar
como sniffer (se puede ver en consola y en tiempo real qu ocurre en la red, todo
el trfico), registro de paquetes (permite guardar en un archivo los logs para su
posterior anlisis, un anlisis offline) o como un IDS normal (en este caso NIDS).

La caracterstica ms apreciada de Snort, adems de su funcionalidad, es su


subsistema flexible de firmas de ataques. Snort tiene una base de datos de
ataques que se est actualizando constantemente y a la cual se puede aadir o
actualizar a travs de la Internet. Los usuarios pueden crear 'firmas' basadas en
las caractersticas de los nuevos ataques de red y enviarlas a la lista de correo de
firmas de Snort, para que as todos los usuarios de Snort se puedan beneficiar y
crear una comunidad con las caractersticas de los proyectos de entorno de
desarrollo libre.

7
Disponible en Internet. < http://www.snort.org/> Con acceso Junio 28 de 2012

33
25.6 HERRAMIENTAS DE GESTIN:

JFFNMS:8 Es un software desarrollado por Javier Szyszlican, en el ao 2002, para


monitoreo de dispositivos, que integra varias utilidades que interrogan y capturan
los datos de los dispositivos. Los programas utilizados por JFFNMS para el
monitoreo, son los siguientes:

POLLER: Acta como manager del protocolo SNMP interrogando a los agentes
instalados en los dispositivos a monitorear.

SNMPTRAPD: Recibe los traps desde los dispositivos monitoreados. Los traps
son eventos o alarmas que los dispositivos envan sin necesidad de ser
consultados.

SYSLOG: Servicio que recoge la informacin de auditora (mensajes logs) de los


dispositivos. No forma parte del protocolo SNMP. Se basa en los registros de
auditora de los sistemas UNIX.

Tambin utiliza programas como nmap, fping y otros para probar conectividad,
puertos abiertos y otros parmetros de red. En tal sentido, JFFNMS es un sistema
integrador para el monitoreo. Adems de estos programas fundamentales que
realizan la consulta y captura de los datos, JFFNMS requiere de una base de
datos robusta para almacenarlos (PostgreSQL MySQL), un Servidor Web para
presentarlos (Apache), el intrprete PHP bajo el cual se ejecutar JFFNMS,
utilidades y programas para generar grficos (RRDtool, Graphviz, etc.) .JFFNMS
se distribuye bajo la licencia GPL. 9

Nmap: (Network Mapper). Esta herramienta implementa la gran mayora de


tcnicas conocidas para exploracin de puertos y permite descubrir informacin de
los servicios y sistemas encontrados. Nmap tambin implementa un gran nmero
de tcnicas de reconocimiento de huellas identificativas.

Generalmente, Nmap es utilizado internamente por otras aplicaciones como, por


ejemplo, escner de vulnerabilidades, herramientas de deteccin de sistemas
activos, servicios web que ofrecen exploracin de puertos, etc.

Fping: 10La utilidad ping comprueba el estado de la conexin con uno o varios
equipos remotos por medio de los paquetes de solicitud de eco y de respuesta de
eco (ambos definidos en el protocolo de red ICMP) para determinar si un sistema

8
Disponible en Internet. <http://wiki.canaima.softwarelibre.gob.ve/wiki/index.php/Servidor_Jffnms>
9
Disponible en Internet <http://www.es.gnu.org/modules/content/index.php?id=8>
10
Disponible en Internet. <http://fping.sourceforge.net/>

34
IP especfico es accesible en una red. Es til para diagnosticar los errores en
redes o enrutadores IP.

Fping es una utilidad que realiza un ping original pero con mltiples funciones
extras, proporcionndote as mucha ms informacin y detalles.

RRDtool: RRDtool es el estndar de la industria OpenSource para el registro de


datos de alto rendimiento con un sistema de representacin grfica de datos de
series en una lnea de tiempo. Es til para escribir shell scripts de seguimiento
personalizado o crear aplicaciones usando lenguajes como Perl, Python, Ruby,
TCL o enlaces de PHP. 11RRDtool es el acrnimo de Round Robin Database tool.
Trabaja con una base de datos que maneja planificacin segn Round-Robin. Esta
tcnica trabaja con una cantidad de datos fija, definida en el momento de crear la
base de datos, y un puntero al elemento actual. La base de datos como si fuese
un crculo, sobrescribiendo los datos almacenados con anterioridad una vez
alcanzada la capacidad mxima de la misma. Esta capacidad mxima depender
de la cantidad de informacin que se quiera conservar como historial.

Su finalidad principal es el tratamiento de datos temporales y datos seriales como


temperaturas, transferencias en redes, cargas del procesador, etc. Algunos
proyectos que utilizan RRDtool son: Cacti, Ganglia, JFFNMS, Lighttpd, MRTG,
Munin, Smokeping, Zenoss.

11
Disponible en internet. <http://oss.oetiker.ch/rrdtool/>

35
CAPITULO 6: ATAQUES DE DENEGACIN DE SERVICIO (DDoS) A
APLICACIONES WEB

LECCIN 26: DENEGACIN DE SERVICIO (DoS) / (DDoS)

Es importante diferenciar dos tipos de ataques de denegacin del servicio si se


tiene en cuenta que uno en los que se va a centrar este proyecto, puede actuar
teniendo un nico origen o varios dependiendo la tcnica usada para ejecutarlo:

Ataques de denegacin de servicio simples (Deny Of Service). Este tipo


de ataques se caracterizan por tener un nico origen desde el cual se
realiza la denegacin del servicio.
Ataques de denegacin de servicio distribuido (Distributed DOS o
DDOS). En este tipo de ataques se utilizan varias fuentes coordinadas que
pueden realizar un ataque progresivo, rotatorio o total.

Se define la denegacin de servicio (Deny Of Service, DOS) como la imposibilidad


de acceso a un recurso o servicio por parte de un usuario legtimo. De esta forma
se puede definir un ataque de denegacin de servicio (DOS Attack) como: 12La
apropiacin exclusiva de un recurso o servicio con la intencin de evitar cualquier
acceso de terceros. Tambin se incluyen en esta definicin los ataques destinados
a colapsar un recurso o sistema con la intencin de destruir el servicio o recurso.

Siendo ms concreto y enfocando los ataques a redes IP como el que se pretende


llevar a cabo en el desarrollo del proyecto, se encuentra una definicin con
argumentos explicativos concretos que definen los ataques de denegacin del
servicio como 13la consecucin total o parcial (temporal o totalmente) del cese en
la prestacin de servicio de un ordenador conectado a Internet.

12
Search Software Quality. [Web en lnea]. Disponible desde Internet en:
<http://searchsoftwarequality.techtarget.com/sDefinition/0,,sid92_gci213591,00.html>
13
CERT Advisory CA-1999-17 Denial-of-Service Tools. [Web en lnea]. Disponible desde Internet en:
<http://www.cert.org/advisories/CA-1999-17.html>

36
Figura 25. Escenario de un Ataque de Denegacin de servicio (DoS)
Fuente: <El Autor> Adaptado < MIRKOVIC.J. D-WARD Source-End Defense Against Distributed
Denial-of-Service Attacks.2003. p 38.>

En la Figura 25, se explica una denegacin del servicio tpica. Que se produce
cuando la vctima (V) recibe un malicioso flujo de paquetes obligndola a evitar
recibir algn recurso o servicio de los clientes legtimos C1, y C2. Una
caracterstica de estos ataques es que los atacantes rara vez utilizan sus propias
mquinas para llevar a cabo los ataques por lo que la mquina A se convierte en
un agente o participante involuntario

26.1 DENEGACIN DE SERVICIO DISTRIBUIDO: DDOS

Se han definido los ataques de denegacin de servicio distribuido (DDOS) como


14un ataque de denegacin de servicio (DOS) dnde existen mltiples focos

distribuidos y sincronizados que focalizan su ataque en un mismo destino

14
[Web en lnea].Disponible desde Internet en:
<http://searchsecurity.techtarget.com/sDefinition/0,,sid14_gci557336,00.html>

37
Figura 26. Escenario de un Ataque de Denegacin de servicio Distribudo (DDoS)
Fuente: <El Autor> Adaptado < MIRKOVIC.J. D-WARD Source-End Defense Against Distributed
Denial-of-Service Attacks.2003. p 40.>

La Figura 26, muestra una negociacin distribuida simple en el que varias


mquinas (A,B) atacantes detienen un servicio al enviar paquetes de datos con
flujos maliciosos a la vctima (V) negando el servicio a los clientes legtimos C1 y
C2.

26.2 FUENTES DE ORIGEN DE LOS ATAQUES DOS / DDOS

Los ataques de denegacin de servicio suelen tener varios orgenes, lo que


complica la posibilidad de mantener un control efectivo sobre todos los recursos o
servicios ofrecidos. Una deteccin tempanara con un sistema de alertas como el
que se ha propuesto en este proyecto podran minimizar el riesgo. No obstante,
los distintos orgenes o fuentes pueden provenir principalmente de dos fuentes:
15Usuarioslegtimos o internos: Este grupo se subdivide en aquellos usuarios
poco cuidadosos que colapsan el sistema o servicio inconscientemente (por
ejemplo la persona que llena el disco duro del sistema bajando archivos de
msica), usuarios malintencionados (aquellos que aprovechan su acceso para
causar problemas de forma premeditada) y usuarios ladrones que utilizan el
acceso de un usuario legtimo (ya sea robndolo del usuario legtimo o
aprovechndose de la confianza de este).

15
VERDEJO. G. Seguridad en Redes IP. Universitat Autnoma de Barcelona. Barcelona Sep. 2003. p,36

38
Agentes externos: Este grupo hace referencia a los no usuarios del sistema. De
esta forma se consigue acceso al recurso o servicio sin necesidad de ser un
usuario legtimo (un sistema que no controle la autenticacin de usuarios, un
sistema que presente un bug conocido...). En este grupo usualmente se falsea la
direccin de origen (faked/spoofed IP) con el propsito de evitar el origen real del
ataque.

Antes de diferenciar algunos ataques y principalmente el que se va a tratar en esta


tesis, es conveniente identificar como actan o las fases previas a un ataque.

26.3 PLATAFORMAS AFECTADAS:

El enfoque que abarca estos contenidos acadmicos para el curso, comprende


escenarios en los que se presenten ataques de servicio en redes IP. La
trascendencia de estos ataques est dada por su independencia de plataformas
en las que pueden perpetrarse y hacer efectivos estos ataques.

26.4 CARACTERIZACIN DE LOS ATAQUES DOS:

Dependiendo de la tcnica usada o las caractersticas del ataque, se debe


proyectar su defensa o estrategia de proteccin. Es por ello importante
identificarlas para proyectar su anlisis en busca de proponer una mejor solucin
como se indica a continuacin:

26.4.1 Uso de IP Source Spoofing: En la que los atacantes utilizan la


suplantacin o falseo de una direccin IP durante el ataque emitiendo informacin
falsa desde el mismo origen del ataque ocultando informacin de la cabecera de
los paquetes IP. Una de las caractersticas de este ataque es que las mquinas
Agente o las que envan el ataque, son difciles de rastrear, incluso con la
informacin que capturan y la direccin oculta de donde se realiza el ataque, se
pueden realizar ataques futuros.

La otra caracterstica que tiene esta falsificacin de direcciones IP, es la que le


permite a los atacantes hacer una reflexin del ataque que consiste que las
solicitudes a un determinado servicio que realiza el atacante en nombre de la
vctima, genera muchas respuestas de un tamao pequeo. A medida que realice
ms solicitudes, estas obtendrn ms respuestas que son recibidas por la vctima.

Puede extender su ataque enviando solicitudes a servidores pblicos que otorgan


mayor nmero de respuestas.

39
Un gran nmero de mquinas agente: Ac se complica el ataque, por que
incluso si un sistema de deteccin de intrusos (IDS) detecta las peticiones y el
origen de las mismas, por el gran volumen de atacantes y la diversidad de
paquetes enviados, pueden evitar que las repuestas lleguen al sistema de
deteccin y tomar mucho tiempo en procesarse dando oportunidad a usar la
reflexin explicada anteriormente para retomar el ataque.

26.4.2 Similitud de trfico legtimo: Cualquier tipo de trfico puede ser utilizado
para ejecutar un ataque de denegacin de servicio. Algunos tipos de trfico
requieren un mayor volumen de paquetes para que tengan mayor xito que otros.
El trfico legtimo fcilmente puede ser confundido con el trfico malicioso.

Un sistema de defensa estara basado en la obtencin de un volumen de datos


estadsticos para su anlisis de la semntica o estructura de las transacciones
habituales y compararlas con las que se tengan duda. Es un principio bsico de
muchos sistemas de deteccin de intrusos (IDS).

La seguridad en Internet es altamente Independiente: En donde las vctimas


son tambin altamente dependientes de la seguridad de otros subsistemas a los
que estn aadidos o de los que tomen los servicios. Este aspecto se tiene en
cuenta sobre todo en redes de gran cobertura y tamao.

Control de internet Distribuido: La gestin de internet es distribuida y cada red


ejecuta sus polticas de seguridad y manejo de informacin de acuerdo a las
establecidas por sus dueos. No hay manera de hacer cumplir un mecanismo
particular de seguridad y se torna complejo el estudio del trfico de red que
atraviesan diferentes redes para optar por la mejor estrategia.

Los recursos de Internet son limitados: Cada entidad de internet, ya sea un


host, red, equipo activo; dispone de recursos limitados que generalmente son
consumidos en su totalidad por los usuarios e incluso sobrepasados. De all que
todo intento de ataque de denegacin de servicio (DoS) tendr xito siempre y
cuando no hay un mecanismo de proteccin previo.

Existen ms aspectos de diseo en la red, que afectan la probabilidad o no de que


suceda un ataque y ms an inciden en el tipo de ataque que se puede realizar.
Estos aspectos son analizados en el desarrollo del proyecto y se convierten en
variables a tener en cuenta para el diseo de un mecanismo de proteccin.

40
LECCIN 27: FASES PREVIAS A LA REALIZACIN DEL ATAQUE:

Para poder realizar el ataque a la red local, o a una aplicacin web o a una URL
especfica, se identificaron unas etapas previas o fases que se realizan para poder
perpetrar un ataque (DoS) de nivel de seguridad a una red TCP/IP que permitan
identificar estrategias con miras a determinar un sistema de alarmas que
minimicen el riesgo y que lo identifiquen de forma especfica y concreta.

27.1 ACTIVIDADES PREVIAS AL ATAQUE (DOS):

El objetivo se apoya con gran relevancia en la correcta interpretacin y anlisis del


comportamiento de los datos en las conversaciones establecidas usando el
protocolo TCP/IP y los servicios implementados por el protocolo IP y su unidad de
datos bsica que es el datagrama, cuyo tamao mximo es de 65535 bytes (64K).
La Figura 27 muestra la estructura de un datagrama IP V 4.0 en el que se resalta
el campo TTL (Time to Live) que determina el tiempo de vida del datagrama antes
de ser rechazado por alguna causa en el mecanismo de comunicacin que adopta
el protocolo. Limita el tiempo que un datagrama puede pasar en la red. TTL se
decrementa en una unidad cada vez que pasa por un encaminador si todo va bien,
o en una unidad por segundo en el encaminador si hay congestin. Al llegar a cero
el datagrama es descartado.

Este campo que se inicializa en el ordenador de origen a un valor (mximo


2^8=256) y se va decrementando en una unidad cada vez que atraviesa un router.
De esta forma, si se produce un bucle y/o no alcanza su destino en un mximo de
255 saltos, es descartado. En este caso se enva un datagrama ICMP de error al
ordenador de origen para avisar de su prdida.

La ubicacin en la figura del campo TTL antecede a la identificacin del tipo de


protocolo que interviene en la comunicacin.

41
Figura 27. Estructura de un datagrama IP V 4.0
Fuente: <El Autor>

27.2 TOPOLOGA O DISTRIBUCIN FSICA:

Los ataques (DoS), tambin basan sus tcnicas inicialmente capturando


informacin relacionada con la topologa de red o distribucin fsica identificando el
tipo de sistema entre el atacante y las vctimas.

La comunicacin est implementada sobre el protocolo IP (Internet Protocol)


siendo la pieza fundamental en la que se sustenta el sistema TCP/IP y por tanto
todo el funcionamiento de Internet. Su especificacin est recogida en [RFC791].
16Elprotocolo IP est dado para facilitar un sistema sin conexin (connectionless)
y no fiable (unreliable) de entrega de datagramas entre dos ordenadores
cualesquiera conectados a Internet. Adems, no mantiene ningn tipo de
informacin referente al estado de las conexiones. Cada datagrama es
encaminado de forma independiente, lo que le convierte en un protocolo sin
conexin.

Debido a estas particulares caractersticas, puede pasar que se pierdan


datagramas y/o que estos no lleguen en orden. De esta manera, cualquier
fiabilidad que se necesite, deber ser realizada por las capas superiores (TCP).

Se parte tambin de un anlisis bsico de la estructura de un datagrama IP, que


est dividida en bloques de 32 bits (4 bytes). El datagrama IP se transmite

16
Ibid, p. 13

42
enviando primero el bit 0, luego el bit 1, 2, 3... Y as sucesivamente hasta finalizar
el datagrama. Este orden se denomina network byte order. Para el estudio que se
lleva a cabo en la deteccin de ataques DoS, es muy importante conocer este
orden de transmisin de la informacin, puesto que los diferentes ordenadores
tienen diferentes sistemas de almacenamiento de bits en memoria.

Para poder capturar esta informacin referente a la topologa de red o distribucin


fsica identificando el tipo de sistema entre el atacante y las victimas, los ataques
DoS manipulan el campo TTL de la cabecera IP de un paquete para determinar la
forma que los saltos uno a uno se dan y por los que un determinado paquete
avanza por la red TCP/IP. El campo TTL acta como un contador de saltos,
vindose reducido en una unidad al ser reenviado por cada dispositivo de
encaminamiento.

Especficamente este campo TTL tiempo de vida (Time To Live), es un campo


de 8 bits que indica el tiempo mximo que el datagrama ser vlido y podr ser
transmitido por la red. Esto permite un mecanismo de control para evitar
datagramas que circulen eternamente por la red (por ejemplo en el caso de
bucles).

27.3 FUNCIN DE ICMP EN LOS ATAQUES DOS.

Un anlisis inicial muestra la importancia de este protocolo y su papel cuando se


trata de extraer informacin de una conversacin TCP con miras a ser atacada o a
denegar algn servicio.

El protocolo ICMP (Internet Control Message Protocol) es un protocolo simple que


va encapsulado en datagramas IP y que tiene por funcin el control del flujo de la
comunicacin as como la comunicacin de errores [RFC792]. En la Figura 28 se
muestra la estructura de un mensaje ICMP. Los mensajes de error de este
protocolo los genera y procesa TCP/IP y no el usuario. Dentro del datagrama IP se
muestra la ubicacin de la cabecera ICMP de 8 bytes.

Figura 28. Estructura de un mensaje ICMP


Fuente: <El Autor>

43
ICMP tambin permite obtener informacin como la franja horaria del sistema
destino o la mscara de red. La simple ejecucin del comando ping contra la
direccin IP asociada a un nombre de dominio ofrece al atacante informacin de
gran utilidad. Para empezar, esta informacin le permitir determinar la existencia
de uno o ms equipos conectados a la red de este dominio.

Una explicacin sencilla de cmo se identifican equipos conectados la da un


servicio de entrega basado en el mejor intento (best effort) que adopta IP. Significa
que cuando se detecta un error en la transmisin o funcionamiento irregular ya sea
por tiempo de entrega de paquetes, tamaos, tipos de servicios, direcciones
origen o destino, se contempla un sistema muy simple de tratamiento de errores.
Este mecanismo de control de errores viene regulado por el protocolo ICMP
(Internet Control Message Protocol).

Generalmente la vctima (equipo, host o cliente), descarta los datagramas y


enviara un mensaje de error ICMP al ordenador de origen sin encargarse de la
retransmisin del datagrama, lo que no implica fiabilidad. La cabecera del
protocolo ICMP tiene un tamao de 8 bytes que contiene varios campos que
permiten la identificacin del mensaje. En la Figura 29 se muestran estos campos
que dan informacin del Tipo de Mensaje, un cdigo de identificacin y la
ubicacin del campo de 16 bits chkeksum expuesta en el texto del [RFC793] que
documenta acerca del clculo del campo del checksum para TCP.

Figura 29. Cabecera de un datagrama ICMP


Fuente: <El Autor>

El Tipo (Type) indica el carcter del mensaje enviado, ya que el protocolo permite
especificar una gran variedad de errores o mensajes de control de flujo de las
comunicaciones

La tabla 4 muestra el tipo de mensajes que el protocolo ICMP emite y los cdigos
de error utilizados para su identificacin. Estos cdigos estn ordenados en la

44
columna izquierda en orden jerrquico clasificados en Mensajes informativos y
Cdigos de error.

Mensajes informativos
0 Echo Reply (respuesta de eco)
3 Destination Unreacheable (destino inaccesible)
4 Source Quench (disminucin del trfico desde el origen)
5 Redirect (redireccionar - cambio de ruta)
8 Echo (solicitud de eco)
11 Time Exceeded (tiempo excedido para un datagrama)
12 Parameter Problem (problema de parmetros
13 Timestamp (solicitud de marca de tiempo)
14 Timestamp Reply (respuesta de marca de tiempo)
15 Information Request (solicitud de informacin) - obsoleto-
16 Information Reply (respuesta de informacin) - obsoleto-
17 Addressmask (solicitud de mscara de direccin)
18 Addressmask Reply (respuesta de mscara de direccin

Cdigos de error
0 no se puede llegar a la red
1 no se puede llegar al host o aplicacin de destino
2 el destino no dispone del protocolo solicitado
3 no se puede llegar al puerto destino o la aplicacin destino no est libre
4 se necesita aplicar fragmentacin, pero el flag correspondiente indica lo contrario
5 la ruta de origen no es correcta
6 no se conoce la red destino
7 no se conoce el host destino
8 el host origen est aislado
9 la comunicacin con la red destino est prohibida por razones administrativas
10 la comunicacin con el host destino est prohibida por razones administrativas
11 no se puede llegar a la red destino debido al Tipo de servicio
12 no se puede llegar al host destino debido al Tipo de servicio

Tabla4. Mensajes y cdigos del protocolo ICMP


Fuente: <El Autor>

Poder identificar los errores en el campo de Cdigo (Code) que indica el cdigo de
error dentro del tipo de error indicado en el campo tipo agrupando los mensajes
en tipos y dentro de cada tipo especificando el cdigo concreto al que se refiere,
ayudan a determinar alertas sobre los fallos en la red o posibles ataques.

45
El Checksum simplemente permite verificar la integridad del mensaje enviado, lo
que permite detectar posibles errores en el envo, transporte o recepcin del
mensaje de control ICMP.

El campo de Operacin (Operation) depende directamente del contenido de los


campos de tipo y cdigo, permitiendo la inclusin de una informacin extra referida
al cdigo de error.

27.4 DESCUBRIMIENTO DE USUARIOS:

Obtencin de usuarios vlidos. Otra informacin relevante en un sistema es el


nombre de los usuarios que tienen acceso a los equipos. Mediante el uso de un
servicio sobre el protocolo TCP en el puerto 79, denominado finger [RFC1288],
se porta como un protocolo que proporciona informacin de los usuarios de una
mquina en el momento de acceder a algn tipo de servicio.

27.5 INFORMACIN DEL DOMINIO:

Se debe contemplar escenarios reales en los que intervengan redes


heterogneas. Un escenario tpico es cuando una organizacin tiene
implementado Dominios, que ofrecen informacin acerca de las subredes que
estn detrs de el y que despliegan informacin cando se hacen las consultas de
nombre de dominio (DNS).

El sistema DNS funciona principalmente en base al protocolo UDP. Los


requerimientos se realizan a travs del puerto 53. Se referencia el anlisis del
protocolo UDP como un protocolo simple y orientado a datagrama. Su definicin
se recoge en [RFC7680].

El sistema est estructurado en forma de rbol. Cada nodo del rbol est
compuesto por un grupo de servidores que se encargan de resolver un conjunto
de dominios (zona de autoridad). Un servidor puede delegar en otro (u otros) la
autoridad sobre alguna de sus sub-zonas (esto es, algn subdominio de la zona
sobre la que l tiene autoridad)

Son aspectos computacionales que se deben tener en cuenta en el diseo del


modelo ya que sea que se comporten como agentes externos o no, influyen en el
diseo. Si los servidores que ofrecen la informacin de los Dominos no estn
configurados debidamente, seguramente que tanto los tiempos, estrategias o
tcnicas que usan los ataque de denegacin del servicio, varan

46
LECCIN 28: FINGERPRINTING

La seguridad en aplicaciones web, debe llevar a los profesionales que traten esta
temtica, poder identificar ataques DoS en redes Ethernet. Se trata entonces de
obtener informacin de un sistema concreto y de alguna vulnerabilidad especfica.
Esto se hace obteniendo su huella identificativa respecto de la pila TCP/IP de los
equipos atacados. Esta tcnica es la que se conoce como Fingerprinting y la
informacin que puede brindar esta tcnica dentro de las muchas opciones que
tiene de descubrir datos de la vctima es la de permitir descubrir de forma muy
fiable el sistema operativo que se ejecuta en la maquina analizada.

Un anlisis previo de esta Pila TCP/IP permite ver como es de vulnerable esta
implementacin:

28.1TRANSMISIN EN EL PROTOCOLO DE CONTROL.

Cuando TCP se encuentra entre IP y la capa de aplicacin, el Protocolo de


Control de Transmisin (TCP) garantiza una comunicacin fiable orientada a
conexin para las estaciones y para los servicios que estas implementan. TCP
garantiza que los datagramas se entregan en orden, sin que haya errores, y sin
duplicacin. Los servicios se proporcionan utilizando mecanismos de control de
flujo tales como el de Ventana deslizante (Three-way Handshake) y la
adaptacin de Tcnicas de retransmisin

Figura 30. Topologa de una red genrica


Fuente: <Schuba. C, Krsul. I y Kuhn. M. Analysys of a Denial Service Attack on TCP, p 16.>

Three-way Handshake: Para entender el proceso de establecimiento de conexin


en tres vas se ha tomado una topologa de una red genrica como la que se
muestra en la figura (30). Similar al escenario que el proyecto pretende comprobar
en la deteccin de ataques de denegacin de servicio.

47
Antes de poder transmitir datos entre un host de origen S y un host de destino D,
TCP tiene que establecer una conexin entre S y D como se ve en la figura (6). El
establecimiento de esta conexin recibe el nombre de conexin en tres vas
como se representa en la figura (31).

Figura 31. Mecanismo de tres vias


Fuente: <Schuba. C, Krsul. I y Kuhn. M. Analysys of a Denial Service Attack on TCP, p 16.>

El mecanismo es el siguiente:

170.El host receptor, que en el caso de ms comn ser un servidor, espera


pasivamente una conexin ejecutando las primitivas LISTEN y ACCEPT.

1. En primer lugar, el host que desea iniciar la conexin ejecuta una primitiva
CONNECT especificando la direccin IP y el puerto con el que se desea conectar,
el tamao mximo del segmento que est dispuesto a aceptar y opcionalmente
otros datos, como alguna contrasea de usuario. Entonces la primitiva CONNCET
hace una apertura activa, enviando al otro host un paquete que tiene el bit SYN
(ver formato de un segmento TCP ms abajo) activado, indicndole tambin el
nmero de secuencia inicial "x" que usar para enviar sus mensajes.

17
Protocolo de acuerdo a tres vas. Disponible desde Internet en:
<http://neo.lcc.uma.es/evirtual/cdd/tutorial/transporte/twhandshake.html >

48
2. El segundo paso contina con el host receptor que recibe el segmento revisa si
hay algn proceso activo que haya ejecutado un LISTEN en el puerto solicitado,
es decir, preparado para recibir datos por ese puerto. Si lo hay, el proceso a la
escucha recibe el segmento TCP entrante, registra el nmero de secuencia "x" y,
si desea abrir la conexin, responde con un acuse de recibo "x + 1" con el bit SYN
activado e incluye su propio nmero de secuencia inicial "y", dejando entonces
abierta la conexin por su extremo. El nmero de acuse de recibo "x + 1" significa
que el host ha recibido todos los octetos hasta e incluyendo "x", y espera "x + 1" a
continuacin. Si no desa establecer la conexin, enva un contestacin con el bit
RST activado, para que el host en el otro extremo lo sepa.

3. El primer host recibe el segmento y enva su confirmacin, momento a partir del


cual puede enviar datos al otro extremo, abriendo entonces la conexin por su
extremo.

4. La mquina receptora recibe la confirmacin y entiende que el otro extremo ha


abierto ya su conexin, por lo que a partir de ese momento tambin puede ella
enviar datos. Con esto, la conexin ha quedado abierta en ambos sentidos.

28.2 EXPLORACIN DE PUERTOS:

El escaneo o exploracin de puertos permite determinar las caractersticas de una


red o sistema remoto, con el objetivo de identificar los equipos disponibles y
alcanzables desde Internet, as como los servicios que ofrece cada uno. Se puede
llegar a conocer los sistemas existentes, los servicios ofrecidos por ellos, cmo
estn organizados los equipos, que sistemas operativos ejecutan y cual es le
propsito de cada uno.

Hay diferentes formas de explotar las vulnerabilidades de TCP/IP en los que los
ataques de Denegacin de Servicio hacen uso de diferentes tcnicas para realizar
esta exploracin de puertos TCP. Entre las ms conocidas, se destacan las
siguientes:

TCP connect scan. Mediante el establecimiento de una conexin TCP


completa (completando los tres pasos del establecimiento de la conexin) la
exploracin puede ir analizando todos los puertos posibles. Si la conexin
se realiza correctamente, se anotara el puerto como abierto (realizando una
suposicin de su servicio asociado segn el nmero de puerto).

49
TCP SYN scan. Enviando nicamente paquetes de inicio de conexin
(SYN) por cada uno de los puertos que se quieren analizar se puede
determinar si estos estn abiertos o no. Recibir como respuesta un
paquete RST-ACK significa que no existe ningn servicio que escuche por
este puerto. Por el contrario, si se recibe un paquete SYN-ACK, podemos
afirmar la existencia de un servicio asociado a dicho puerto TCP. En este
caso, se enviara un paquete RST-ACK para no establecer conexin y no
ser registrados por el sistema objetivo, a diferencia del caso anterior (TCP
connect scan).

Existen otras vulnerabilidades que se pueden explotar pero que son


dependientes de la implementacin de la pila TCP/IP. Por Ejemplo:

TCP FIN scan. Al enviar un paquete FIN a un puerto, deberamos recibir un


paquete de reset (RST) s dicho puerto esta cerrado. Esta tcnica se aplica
principalmente sobre implementaciones de pilas TCP/IP de sistemas Unix.

TCP Xmas Tree scan. Esta tcnica es muy similar a la anterior, y tambin
se obtiene como resultado un paquete de reset si el puerto est cerrado. En
este caso se envan paquetes FIN, URG y PUSH.

TCP Null scan. En el caso de poner a cero todos los indicadores de la


cabecera TCP, la exploracin debera recibir como resultado un paquete de
reset en los puertos no activos.
.

28.2.1 Exploracin de puertos UDP: Para poder detectar si existe un sistema de


filtrado o cortafuegos, los sistemas de Deteccin de intrusos (IDS) utilizan el
protocolo UDP para mandar paquetes UDP con 0 bytes en el campo datos, si el
puerto est cerrado se debe recibir un ICMP Port Unreachable. Si el puerto est
abierto, no se recibe ninguna respuesta. Si se detectan muchas puertas abiertas,
puede haber un dispositivo de filtrado (firewall) en el medio. Para verificar esto, se
enva un paquete UDP al puerto cero, si no se recibe una respuesta ICMP Port
Unreachable, entonces hay un dispositivo de filtrado de trfico.

Para un anlisis de vulnerabilidades en aplicaciones web que detecte ataques de


denegacin de servicio (DoS) en el caso de usar paquetes UDP para la
exploracin de puertos, hay que tener en cuenta que a diferencia de las
exploraciones TCP, se trata de un proceso ms lento puesto que la recepcin de

50
los paquetes enviados se consigue mediante el vencimiento de temporizadores
(timeouts).

28.2.2 Escaneo basado en el protocolo ICMP: La identificacin de respuestas


ICMP permite obtener huellas identificativas cuando se le da un mal uso a este
protocolo. Muchas de las caractersticas que tienen las respuestas ICMP no son
propias de los sistemas operativos. Algunos si respondern y otros no. Incluso y
as la experiencia en la implementacin de este protocolo dice que se pude
deshabilitar este servicio de deteccin de errores en los sistemas de comunicacin
a travs del mismo sistema operativo

Por lo anterior, el anlisis de respuestas ofrecidas mediante el trfico ICMP como


las del ICMP echo, ICMP timestap, ICMP information; se dar en la medida del
desarrollo del proyecto y el anlisis del ataque.

Bsicamente la interpretacin de estas respuestas ofrecidas son:

ICMP echo: comnmente llamado Ping. Se le utiliza para saber cules


son los dispositivos que se encuentran activos en una subred. Esto se
hace de forma masiva para detectar todos los host. Los IDS tambin
detectan este tipo de dilogos.

ICMP broadcast: Se hace un nico ping a la direccin de broadcast y se


logra que todos los equipos contesten. Depende del sistema operativo la
reaccin a este tipo de cosas. Los sistemas Windows actuales no
responden a estas solicitudes.

ICMP Timestamp: Se enva un paquete ICMP Timestamp y si el sistema


objetivo est activo, responde, nuevamente depende la implementacin del
sistema operativo si se responde o no a estos paquetes.

Otros mtodos tienen que ver con el uso indirecto de ICMP haciendo que un
equipo conteste con paquetes de este tipo cuando se introducen errores en los
paquetes IP:

IP bad header field: Se introducen errores en los campos de la


cabecera IP, esto hace que si un equipo descarta el paquete debido a
estos errores entonces notifica con un ICMP parameter problem. No
todas las implementanciones responden a los mismos errores. Esto
sirve, por ejemplo, para identificar los fabricantes de los routers.

51
Los firewall y los IDS deberan tener en cuenta este tipo de trfico, y manejarlo
con cuidado, ya que si un firewall simplemente no deja volver paquete ICMP
parameter problem, entonces un atacante puede detectar la existencia del mismo.

IP non-valid field values: Se ingresan valores incorrectos en los


campos, en respuesta a esto se debera recibir un ICMP Destination
Unreacheable. Por ejemplo, se podra indicar que en el campo datos
hay un paquete de un protocolo no existente. Si un firewall filtra los
paquetes ICMP de este tipo, entonces parecer que existen una serie
de protocolos abiertos que no existen.

28.3 FRAGMENTACIN IP.


18La unidad mxima de transferencia (Maximum Transfer Unit - MTU) es un
trmino de redes de computadoras que expresa el tamao en bytes de la unidad
de datos ms grande que puede enviarse usando un Protocolo de Internet.

Este tamao tambin puede variar de una red a otra dependiendo el medio fsico
empleado para su transmisin. La MTU por defecto de un datagrama IP para una
red de tipo Ethernet es de 1500 bytes. Si un datagrama IP es mayor a este tamao
y necesita pasar por este tipo de red, es necesario fragmentarlo; labor que la
realiza el router o encaminador que dirige la red. Su RFC corresponde al [RFC
1191]

Esta fragmentacin puede ser usada por un atacante para hacer mal uso de eta
propiedad del protocolo IP para provocar ataques de Denegacin de Servicio
(DoS) a causa de una mala implementacin de la pila TCP/IP as como para
esconder y facilitar la fase de recogida de informacin, bsqueda de huellas
identificativas y exploracin de puertos.

Tambin esta manipulacin de la MTU permite a los atacantes cuando realizan


ataques de denegacin de servicio distribuido (DDoS), poder pasar desapercibidos
e introducir en la red paquetes para la exploracin de servicios.

Es importante tener en cuenta esta propiedad del protocolo IP de fragmentar sus


datagramas, ya que si se va a generar un mecanismos que prevea y detecte
ataques DoS, poder implementar el reensamblado de paquetes ya que hoy en da
muchos de los sistemas de deteccin de intrusos (IDS), no lo hacen y por ello no
detectan este tipo de vulnerabilidades.

18 Unidad mxima de transferencia. Disponible en Internet


<http://es.wikipedia.org/wiki/Unidad_m%C3%A1xima_de_transferencia>

52
La figura (32) se observa la configuracin de un datagrama IP no fragmentado que
contiene una cabecera UP que generalmente es de un tamao de 20 bytes con
informacin necesaria para poder dirigir el datagrama IP hacia su destino
(direccin IP de origen y destino o de encaminamiento). Los 1480 bytes de datos
restantes encapsulados corresponden pueden ser d eun protocolo TCP, UDP o
ICMP.

Figura 32. Datagrama IP No fragmentado


Fuente: <El Autor.>Adaptado<Joancomarti . J, Alfaro. J y Tornil . X. Aspectos avanzados de seguridad en
redes. P. 27
Para el siguiente ejemplo en un sistema tipo UNIX se identifica una MTU de 1500
bytes por defecto:
root@bt:~# ifconfig eth0
eth0 Link encap:Ethernet HWaddr 00:a0:d1:9b:b4:56
inet addr:10.1.1.10 Bcast:10.1.1.255 Mask:255.255.255.0
inet6 addr: fe80::2a0:d1ff:fe9b:b456/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:32429 errors:0 dropped:0 overruns:0 frame:0
TX packets:42772 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:13248489 (13.2 MB) TX bytes:11158515 (11.1 MB)
Interrupt:16
root@bt:~#

La forma de modificar el tamao de la MTU se evidencia en los siguientes


comandos de UNIX para una red Ethernet con un adaptador de red eth0.
root@bt:~# ifconfig eth0 mtu 1000
root@bt:~# ifconfig eth0
eth0 Link encap:Ethernet HWaddr 00:a0:d1:9b:b4:56
inet addr:10.1.1.10 Bcast:10.1.1.255 Mask:255.255.255.0
UP BROADCAST RUNNING MULTICAST MTU:1000 Metric:1
RX packets:32874 errors:0 dropped:0 overruns:0 frame:0
TX packets:43243 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:13306127 (13.3 MB) TX bytes:11213127 (11.2 MB)
Interrupt:16
root@bt:~#

53
Continuando el anlisis con una MTU bsica o tpica de 1500 bytes, en una
peticin de echo request del protocolo ICMP (ping) con un envo de tres paquetes
como se muestra a continuacin y con un datagrama de 4028 bytes, se puede
identificar como el protocolo ICMP separa los 8 bytes correspondiente a la
cabecera ICMP:
root@bt:~# ping -c 3 -s 4020 10.1.1.11
PING 10.1.1.11 (10.1.1.11) 4020(4048) bytes of data.
4028 bytes from 10.1.1.11: icmp_seq=1 ttl=128 time=4.73 ms
4028 bytes from 10.1.1.11: icmp_seq=2 ttl=128 time=1.29 ms
4028 bytes from 10.1.1.11: icmp_seq=3 ttl=128 time=1.28 ms
--- 10.1.1.11 ping statistics ---
3 packets transmitted, 3 received, 0% packet loss, time 2003ms
rtt min/avg/max/mdev = 1.281/2.436/4.735/1.625 ms
root@bt:~#

La fragmentacin del datagrama de 4028 bytes se dividir en fragmentos de 1550


bytes o menos para el envo. En la Figura 33 se observa la descomposicin del
datagrama en tres partes. Cada fragmento seguir conteniendo una cabecera IP
de 20 bytes y una cabecera ICMP (peticin echo ICMP) de 8 bytes. Se ha
diferenciado con color los fragmentos de 1500 bytes y el fragmento restante de
1068 bytes.

Figura 33. Datagrama IP de 4028 fragmentado con MTU de 1500 bytes


Fuente: El autor

54
Un anlisis del re ensamblado se evidencia con el analizador de protocolos
Wireshark como se muestra en la Figura 34 y 35. Se identifica una cabecera de 20
bytes y los tres frames: (Dos de 1480 y uno de 1068 butes). Esta informacin la ha
arrojado un analizador de protocolos. Se identifica claramente la direccin IP
origen 10.1.1.2 (source) y la direccin IP destino 10.1.1.11 (Destination)
confirmando el re ensamblado IP en tres (03) Frames.

Figura 34. Reensamblado de frames en Wireshark.


Fuente: El autor

Figura 35. Fragmentacin y Reensamblado de 4028 bytes con una MTU de 1500 bytes. Analizado
en Wireshark
Fuente: El autor

55
La comunicacin TCP y su re ensamblado se confirma en la negociacin de tres
vas en el diagrama Flow Graph Figura (36). Los paquetes IP e ICMP son re
ensamblados en orden jerrquico desde su origen la direccin IP 10.1.1.2 al 57
destino la direccin IP 10.1.1.11 . Este re ensamblado se realiza en dieciocho (18)
envos que corresponden a 6 mensajes por cada fragmento. Al ser tres (03)
fragmentos se completan los 18 envos

Figura 36. Fragmentacin Reensamblado TCP. Diagrama Flow Graph


Fuente: El autor

LECCIN 29: TIPOS DE ATAQUES:

Los ataques que a continuacin se describen afectan directamente la


disponibilidad de aplicaciones web.

29.1 ATAQUE TCP/SYN Flooding:

Aprovechndose de la debilidad del protocolo TCP en las primeras


implementaciones de las pilas TCP, los ataques a trabajar se basan en no poder
completar intencionalmente el protocolo de intercambio TCP. Se ha seleccionado
este tipo de ataque para su anlisis y deteccin de alarmas ya que es uno de los
ms implementados con diferentes formas de actuar. No tiene lmite de envo de

56
paquetes por lo que el rendimiento en la red se baja de inmediato y
considerablemente hasta llegar a denegar el servicio.

El ataque TCP/SYN Flooding se basa en una inundacin masiva de la red


mediante datagramas IP y por consiguiente lleva a no completar intencionalmente
el protocolo de intercambio TCP para inundar la cola de espera. La vctima se
queda esperando por establecer un servicio pues el atacante no responde con
ACK los SYN/ACK de la vctima, Esto ocurre hasta saturar los recursos de
memoria y as consigue la denegacin de servicios de la vctima. En la Figura 37
se observa en rojo la ruta del ataque. Las vctimas pueden ser todos los hosts e
incluso el router. El ataque es lanzado desde un sistema BackTrack con direccin
IP 10.1.1.10/24 que se encara de generar el trfico malicioso.

Figura37. Escenario para un ataque DoS TCP/SYN Flooding


Fuente: <El Autor.>

La denegacin de servicios se da por que el sistema est a la espera de que baje


el umbral que generalmente es 1 minuto para aceptar ms conexiones, cada
conexin generada por un SYN, tienen un temporizador de 1 minuto, cuando se

57
excede el lmite de tiempo o umbral, se libera la memoria que mantiene el estado
de la conexin y la cuenta de la cola de servicios se disminuye en 1. El atacante
debe usar un IP falso para que no le hagan seguimiento a las conexiones.

La interpretacin del ataque se presenta en la tabla (5) en donde se indican los


flujos de origen y destino en el ataque.

Diagrama del ataque TCP/SYN Flooding

ORIGEN DESTINO
IP=1.2.3.4 SYN IP=10.1.1.11
IP=1.2.3.4 SYN/ACK IP=10.1.1.11
Nunca responde con ACK El IP=10.1.1.11guarda en la cola la peticin
de conexin por 1 minuto
Se repite la secuencia de requerimiento El IP=10.1.1.11se satura por tanto
requerimiento encolado y ocurre el DoS
Cualquier IP cliente pide servicio al servidor El IP=10.1.1.11 no puede atender
requerimientos pues est en medio de un
ataque DoS. Solamente cuando cese el
ataque automticamente se atienden los
requerimientos de los clientes

Tabla5. Diagrama del ataque TCP/SYN Flooding


Fuente: <El Autor>

Procedimiento: La instruccin del ataque es as:

# hping2 10..1.11 -rand-source S -destport 80 -faster --debug w 2048

La explicacin de esta instruccin est dada en la tabla (6)

Descripcin de los parmetros:

PARAMETRO DESCRIPCION
10.1.1.11 IP de la Victima
--rand-source IP ficticio o spoofed, se genera aleatorio, la
idea es que no exista en la red, al no existir
este no responde y as el atacante pasa
inadvertido
--debug Muestra cada intento

58
-S Indica el flag S o SYN para solicitar un
servicio
--destport Indica el servicio requerido, es clave que
este
servicio este habilitado en la victima
--faster Hace el intento de envi de SYN lo mas
rpido que se pueda
.w 2048 La ventana de envo mximo ser de 2048

Tabla 6. Descripcin de los parmetros del ataque TCP/SYN Flooding


Fuente: <El Autor

Las opciones de envo o inundacin de peticiones que hacen de este ataque uno
de los mas perpetrados en redes Ethernet son comprobadas mediante el
incremento del envo de paquetes por cada segundo que pasa. Debe inundarse la
red con muchos paquetes por segundo para que el ataque sea efectivo. Estas
opciones se ejecutan con los siguientes comandos:

# hping2 10.30.30.45 -rand-source S -destport 80 -faster --debug w 2048


-iu1000000, para 1 paquete por segundo
# hping2 10.30.30.45 -rand-source S -destport 80 -faster --debug w 2048
-iu500000, para 2 paquetes por segundo
# hping2 10.30.30.45 -rand-source S -destport 80 -faster --debug w 2048
-iu333333, para 3 paquetes por segundo (*)
# hping2 10.30.30.45 -rand-source S -destport 80 -faster --debug w 2048
-iu250000, para 4 paquetes por segundo (*)
# hping2 10.30.30.45 -rand-source S -destport 80 -faster --debug w 2048
-iu200000, para 5 paquetes por segundo (*)

Tipo de datagramas: La inundacin de datagramas IP puede ser de diferentes


tipos:

UDP: Generar peticiones sin conexin a cualquiera de los 65535 puertos


disponibles. En muchos sistemas operativos, las peticiones masivas a puertos
especficos UDP (ECHO, WINS) causan el colapso de los servicios que lo
soportan.

ICMP: Generacin de mensajes de error o control de flujo malicioso. En este caso


el objetivo es doble, degradar el servicio de red con la inundacin de peticiones y/o
conseguir que los sistemas receptores quede inutilizados por no poder procesar
todas las peticiones que les llegan.

59
TCP: Genera peticiones de conexin con el objetivo de saturar los recursos de red
de la mquina atacada. Este protocolo es orientado a conexin, y como tal
consume recursos de memoria y CPU por cada conexin. El objetivo es el de
saturar los recursos de red disponibles de los ordenadores que reciben las
peticiones de conexin y degradar la calidad del servicio.

29.2 Ataque Broadcast IP Flooding:

Es una variante del ataque IP Flloding. Anlogamente, IP tambin tiene un sistema


de radiodifusin (broadcast) [RFC919] que permite la comunicacin simultnea
con todos los ordenadores de la misma red. En este tipo de ataque se utiliza la
direccin de identificacin de la red IP (broadcast address) como direccin de
destino del paquete IP. De esta forma, el router se ve obligado a enviar el paquete
a todos los ordenadores pertenecientes a la red, consumiendo ancho de banda y
degradando el rendimiento del servicio.

Tambin existen variantes dnde se envan peticiones de PING a varios


ordenadores falseando la direccin IP de origen y substituyndola por la direccin
de broadcast de la red a atacar. De esta forma, todas las respuestas individuales
(Figura 38) se ven amplificadas y propagadas a todos los ordenadores
pertenecientes a la red amplificndolas y propagndolas consiguiendo una alta
efectividad en el ataque.

Figura38. Ataque Broadcast IP Flooding


Fuente: <El Autor.>

60
29.3 Smurf: Este tipo de ataque se basa en falsear las direcciones de origen y
destino de una peticin ICMP de ECHO (ping). La Figura 39 muestra la topologa
del ataque que como direccin de origen utiliza la direccin IP de la mquina que
va a ser atacada. En el campo de la direccin de destino se ubica la direccin
broadcast de la red local o red que se utilizar como lanzadera para colapsar al
sistema elegido. Con esta peticin fraudulenta, se consigue que todas las
mquinas de la red contesten a la vez a una misma mquina, consumiendo el
ancho de banda disponible y saturando al ordenador elegido.

Figura39. Ataque Smurf


Fuente: <El Autor.>
La sintaxis bsica para este ataque es:
hping3 -a [IP objetivo a spoofear] --flood [IP Broadcast]

29.4 STeardrop: Este tipo de ataque aprovecha las deficiencias que presenta el
reensamblado de paquetes IP cuando son fragmentados. Por definicin del
protocolo, un paquete IP tiene un tamao mximo de 64K (65.535Bytes).
root@bt:~# ping -c 3 -s 70000 10.1.1.16
Error: packet size 70000 is too large. Maximum is 65507
root@bt:~#

61
Cada red por la que transitan los paquetes IP tiene un tamao mximo de paquete
(MTU, Maximum Transfer Unit), es por ello que se necesitan fragmentar los
paquetes IP en varios trozos que sern reconstruidos al llegar al destino.

El protocolo IP especifica unos campos en la cabecera encargados de sealar si el


paquete IP est fragmentado (forma parte de un paquete mayor) y que posicin
ocupa dentro del datagrama original. En la Figura 40 se observan los campos que
intervienen en la fragmentacin.

Figura40. Cabecera Paquete IP V 4.0.


Fuente: <El Autor.>

En el campo de banderas (flags) existe un bit denominado More (mas) que


indica que el paquete recibido es un fragmento de un datagrama mayor,
igualmente el campo de nmero de identificacin del datagrama especifica la
posicin del fragmento en el datagrama original.

El ataque teardrop utiliza esta funcionalidad para intentar confundir al sistema


operativo en la reconstruccin del datagrama original y lograr el colapso del
servicio y/o del sistema. Este ataque y sus variantes se basan en falsear los datos
de posicin y/o longitud de forma que el datagrama se sobrescriba (overlapping)
y produzca un error de sobreescritura del buffer (buffer-overrun) al tratar con
desplazamientos negativos

Usualmente el sistema operativo detecta el intento de acceso a una zona de


memoria que no corresponde al proceso ejecutado y aborta el servicio.

Dependiendo de la robustez del sistema operativo podemos perder solo el


servicio atacado o incluso llegar a colapsar todo el ordenador.

62
Otra variante de este ataque consiste en enviar cientos de fragmentos
modificados de forma que se solapen con el objetivo de saturar la pila de
protocolo IP de la mquina atacada.

29.5 Snork: El protocolo IP necesita verificar su funcionamiento. Par realizar esta


accin el sistema enva un datagrama especial al ordenador destino, que lo
reconoce y enva una respuesta al origen (ECHO REPLY). El protocolo IP
define para estas pruebas [RFC862] un servicio para la recepcin de un
datagrama UDP al puerto 7 (ECHO). Existe un servicio proporcionado en muchos
sistemas operativos tipo UNIX denominado CHARGEN (CHARacter GENerator,
generador de caracteres) que dada una peticin responde con una secuencia
aleatoria de caracteres.

Este servicio se encuentra disponible escuchando en el puerto 19 a datagramas


UDP. En sistemas Windows NT se suele utilizar el puerto 135 (Microsoft Locator
Service) para el ataque snork. En la Figura 41 se muestra el escenario tpico del
ataque Snort que se basa en una utilizacin malintencionada de estos dos
servicios tpicos en sistemas UNIX (CHARGEN y el servicio ECHO). El ataque
consiste en cruzar ambos servicios enviando una peticin falsa al servicio
CHARGEN (que retorna una secuencia de caracteres pseudo-aleatoria) falseando
la direccin de origen dando como puerto de respuesta el puerto ECHO (que
responde a cualquier peticin) de la mquina a atacar. De esta forma, se inicia un
juego de pingpong infinito.

Figura41. Ataque DoS Snork


Fuente: <El Autor.>

63
Este ataque puede realizarse entre varios ordenadores (consumiendo ancho de
banda y degradando el rendimiento de la red) o desde un mismo ordenador (l
mismo se enva una peticin y responde) consiguiendo consumir los recursos
existentes (especialmente CPU y memoria) de la mquina atacada.

29.6 Ataque Distribuido TRINOO /TRIN00: Es una herramienta que implementa


un ataque de denegacin de servicio mediante un modelo jerrquico
maestro/esclavo (master/slave).

El ataque consiste en la instalacin de las herramientas de TRIN00 (sniffers de


red, puertas traseras o backdoors, daemons, root-kits.) en los equipos desde los
que partir el ataque. Esta instalacin las ha hecho previamente el atacante
aprovechando bugs conocidos del sistema operativo (buffer overflow) o mediante
tcnicas de sniffing con explotacin de servicios.

Posteriormente, desde este ordenador comprometido se procede al rastreo


(scanning) de otros ordenadores con vulnerabilidades conocidas en servicios
bsicos (FTP, RPC, NFS) para proceder a su infeccin. Este rastreo suele
realizarse dentro de la misma red ya que la velocidad de transmisin es ms
rpida y permite verificar ms mquinas por segundo. Por otro lado las medidas
de seguridad entre ordenadores locales suelen ser mnimas.

Con los resultados obtenidos del rastreo se genera una lista de ordenadores
vulnerables dnde se ejecutarn los programas para obtener el acceso (exploits).

Para verificar que ordenadores de la lista han podido ser captados, el ordenador
de origen suele tener un proceso demonio (daemon) que escucha el puerto TCP
1524, dnde se enviar una seal por cada ordenador infectado.

La arquitectura de este ataque se ve en la Figura 42 en un diagrama de tres


capas. Se observa cmo a partir de un nico computador el atacante podr llegara
obtener toda una red de equipos a su disposicin para realizar el ataque
distribuido.

64
Figura42. Ataque DDoS TRIN00
Fuente: <El Autor.>

La comunicacin entre las distintas capas se realiza mediante conexiones TCP


(fiables) para la parte atacante-master, y conexiones UDP (no fiables) para la
parte master-save y slave-master, en puertos especficos para cada mquina.

La comunicacin siempre se inicia con la transmisin de una contrasea. Esto


permite que ni el administrador del equipo ni el de otros atacantes puedan acceder
al control de la red de ataques de TRIN00.

Los demonios de TRIN00 situados en los equipos master y slave permiten la


ejecucin de comandos para iniciar, controlar y detener ataques de denegacin
tradicionales como ICMP Flloding, SYN Flooding, Smurf, etc. Para acceder a estos
comandos, el atacante realizar una conexin Telnet en el puerto especificado
como el que se relaciona en la Figura 43. 19

19
<HERRERA. Jordi, GARCIA, Alfaro y PERRAMON. Javier. Aspectos Avanzados de Seguridad
en Redes. UOC. Espaa. P. 42>

65
Figura43. Esquema de comunicaciones de TRIN00
Fuente: <El Autor.>

LECCIN 30: HERRAMIENTAS QUE AYUDAN A PREVENIR ATAQUES (DoS):

La seleccin de las herramientas a usar (tabla 7) enmarcan un sistema de


deteccin de intrusos que a la vez realice gestin de red se compone de una serie
de herramientas software que ayudan al ingeniero a gestionar una red de datos.
Estas herramientas suelen incluir elementos y servicios que en conjunto forman un
sistema completo de gestin. La mayora de ellas ofrecen caractersticas como:

Ofrecen al usuario un interfaz grfico

Suelen ofrecer facilidades de exportacin de datos para su tratamiento


mediante bases de datos, hojas de clculo, etc.

Gestin proactiva: generacin de informes basados en web, con datos


histricos que ayudan a identificar problemas potenciales, mediante anlisis
de tendencias.

Los datos recopilados acerca de la topologa, los eventos generados y los


datos recogidos mediante SNMP se almacenan de manera inteligente.

Capacidad de tolerancia a fallos: planificacin de copias de seguridad de la


informacin de gestin ms sensible

66
HERRAMIENTAS FUNCION
Descubrimiento automtico Un descubrimiento dinmico, proactivo, reactivo y
de la topologa de la red programado permite una deteccin rpida y eficiente de
los cambios y las actualizaciones en la red.
Herramientas de diagnstico Este conjunto de herramientas permite que el usuario
de la red conozca el estado de su conexin

Herramientas de seguridad Proveen los mecanismos adecuados para que la


informacin de una organizaron o empresa sea segura, y
esto se consigue con las garantas de:
Confidencialidad: que garantiza que la informacin sea
accesible
Integridad: protege la exactitud y totalidad de la
informacin
Disponibilidad: que garantiza a los usuarios autorizados
acceso a la informacin y los recursos.
Diagnstico de problemas Detectar, prevenir y diagnosticar problemas de
conectividad o funcionamientos con un servicio de red.
Especialmente en los niveles uno (1) y dos (2) del modelo
OSI.
Monitorizacin de la red Monitorea grficamente servicios de red, protocolos e
interfaces.
Monitoreo de desempeo:
Disponibilidad.
Tiempos de respuesta.
Carga de cpu, espacio de disco, uso de la memoria.
Monitoreo de Seguridad
--Recoleccin de indicadores y alertas.
Anlisis y correlacin por parte del analista
Alarma al equipo de toma de decisiones
Gestin de MIBs Navegadores de MIBs (MIB Browsers)
Compiladores de MIBs
Generadores de trfico
Calculadoras de direcciones IP
Servidores TFTP
Software de Gestin de red Muy simple (SNMP) o muy complejo (OSI)
Requiere acceso a MIB local y a agentes y gestores
remotos.
Gestin de direcciones de Calculadoras IP
red Software Vlans: Adminstra direcciones de red por varios
mtodos:
--Por los servicios que presta cada host.
--Por Protocolos.
--Por Puertos.
--Por direcciones fsicas Mac Adress
Analizador de protocolos Herramientas que sirve para desarrollar y depurar
protocolos y aplicaciones de red. Permite al ordenador
capturar diversas tramas de red para analizarlas, ya sea
en tiempo real o despus de haberlas capturado. Por
analizar se entiende que el programa puede reconocer

67
que la trama capturada pertenece a un protocolo
concreto.
Finalmente le muestra al usuario la informacin
codificada.
Analizadores de niveles de El usuario puede ver todo aquello que en un momento
carga en la red. concreto est circulando por la red que se est
analizando.
Software e presentacin Permite al usuario monitorizar y controlar la red
Interfaz de usuario unificada
La misma en cualquier nodo
Organizan, resumen y simplifican la informacin
Representacin grfica preferible
Lenguajes de programacin Para manipular bugs, registros de logs, creacin de
sniffers.

Tabla 7. Herramientas de gestin que ayudan a detectar ataques DoS


Fuente: <El Autor>

El anlisis est enfocado al uso de herramientas de software Libre, teniendo en


cuenta que la eficiencia de la gestin de red, y sus plataformas, se garantizan en
arquitecturas tipo UNIX por las caractersticas propias de ese sistema. Por la gran
diversidad de las mismas, solo se definen las ms efectivas o implementadas y las
que son bsicas para posteriormente ahondar en ellas, combinarlas y
complementarlas para as construir un modelo que permita la deteccin de
ataques DoS. Los sistemas de gestin y de deteccin de intrusos, se componen
de diversas herramientas, hacen uso de servicios, protocolos y tcnicas de
captura y anlisis de informacin.
FUNCION QUE NOMBRE DESCRIPCION
CUMPLE
DESCUBRIMIENTO Descubrimiento de servidores: Identifica
AUTOMTICO DE Nmap: programa de cdigo computadoras en una red, por ejemplo listando
LA TOPOLOGA DE abierto que sirve para efectuar aquellas que responden ping. Identifica
LA RED rastreo de puertos . puertos abiertos en una computadora objetivo.
Fuente: http://nmap.org/ Determina qu servicios est ejecutando la
Ettercap: Es un misma.Determinar qu sistema operativo y
interceptor/sniffer/registrador versin utiliza dicha computadora, (esta
para LANs con ethernet tcnica es tambin conocida como
basado en terminales fingerprinting).
(terminal-based) Obtiene algunas caractersticas del hardware
Fuente: de red de la mquina objeto de la prueba.
http://ettercap.sourceforge.net
HERRAMIENTAS DE NTop: Un monitor de uso de Ntop muestra el uso de la red en una manera
MONITOREO DE trfico de red. similar a lo que hace top por los procesos. En
RED Fuente: http://www.ntop.org/ modo interactivo, muestra el estado de la red
en una terminal de usuario. En Modo Web,
acta como un servidor de Web, volcando en
HTML el estado de la red. Viene con un
recolector/emisor NetFlow/sFlow, una interfaz
de cliente basada en HTTP para crear
aplicaciones de monitoreo centradas en top, y

68
RRD para almacenar persistentemente
estadsticas de trfico
ANALIZADOR DE Wireshark: Es un analizador de protocolos de red para
PROTOCOLOS Fuente: Unix y Windows, Permite examinar datos de
http://www.wireshark.org/ una red viva o de un archivo de captura en
algn disco.

HERRAMIENTAS DE Snorth: Sistema de deteccin Utilizados para mostrar los encabezados de


SEGURIDAD de intrusiones de red de poco los paquetes en una interfaz de red (network
peso (para el sistema), capaz interface) que concuerden con cierta expresin
de realizar anlisis de trfico de bsqueda
en tiempo real y registro de
paquetes en redes con IP.

Fuente: http://www.snort.org/

TCPDump: Paquetes de red


basado en texto..

Fuente:
http://www.tcpdump.org/

GESTION DE MIBS Apache Servidor Web


Fuente:
http://httpd.apache.org/

MySQL Sistema de gestin de base de datos


Fuente: relacional
http://www.mysql.com/

Interprete PHP Lenguaje de programacin interpretado,


Fuente:
http://www.php.net/

Servidor Integrado para monitoreo y gestin de


Servidor JFFNMS dispositivos
Fuente:
http://www.jffnms.org/

Generador de grficos
RRDtool
Fuente:
http://oss.oetiker.ch/rrdtool/

GESTIN DE Hping Trabaja en lnea de comandos. Orientada a


DIRECCIONES DE Analizar paquetes TCP/IP. La interfaz est
RED Fuente: http://www.hping.org/ inspirada en el servicio ping de comandos de
Unix.
Sipcalc hping enva solicitudes de echo ICMP. Soporta
TCP, UDP, ICMP y RAW-IP, tiene un modo de
Fuente: traceroute y la capacidad de enviar archivos
http://www.routemeister.net/pr entre un canal cubierto o protegido.
ojects/sipcalc/
ADMINISTRADOR Webmin Herramienta de configuracin de sistemas
DE SERVICIOS accesible va web
Fuente
http://www.webmin.com/
Tabla8. Herramientas utilizadas
Fuente: <El Autor>

69
GLOSARIO DE TRMINOS:

Abuso de funcionalidad: Una tcnica de ataque que usa las caractersticas


y la funcionalidad de un sitio web para consumir, estafar o evadir el
acceso al sitio. Tambin puede tener referencia con el trmino (DoS).

Autenticacin: El proceso de verificacin de la identidad o localizacin de un


usuario, servicio o aplicacin. La autenticacin se realiza utilizando al menos
uno de tres mecanismos: "algo que tienes", "algo que s "o" algo que es. La
aplicacin puede autenticar y proporcionar diferentes servicios basados en la
ubicacin, mtodo de acceso, el tiempo de permanencia y los hbitos de uso de
la aplicacin web.

Autenticacin Bsica: Una forma simple de autenticacin del cliente


apoyado en HTTP. El cliente HTTP enva un encabezado con la solicitud al
servidor web que contiene un nombre de usuario y la contrasea codificada en
Base64.Si la combinacin de nombre de usuario / contrasea es vlida, entonces
se da el acceso al recurso solicitado.

Autorizacin: La determinacin de los recursos que un usuario, un servicio


o aplicacin tienen como permisos de acceso. Recursos accesibles que pueden
ser URL, archivos, directorios, bases de datos, servelets, caminos de ejecucin.

ADDRESS RESOLUTION PROTOCOL (ARP): protocolo de la familia TCP/IP que


asocia direcciones IP a direcciones MAC.

AGENTE: Programa que permite a un dispositivo responder a solicitudes SNMP.

APACHE: Es un software libre servidor HTTP de cdigo abierto para plataforma


Unix (BSD, GNU/Linux, etc.), Windows, Macintosh y otras, que implementa el
protocolo HTTP/1.1, y la nocin del sitio virtual.

ASN (Abstract Syntax Notation): Lenguaje utilizado para definir tipos de datos.

Backup File Disclosure: Divulgacin del archivo de copia de seguridad:


(Obsoleto). Actualmente se usa el trmino: "Ubicacin de archivo predecible".

Brute Force: Un proceso automatizado de prueba y error utilizado para adivinar


el "secreto" de la proteccin de un sistema. Ejemplos de estos secretos son
nombres de usuario, contraseas o claves criptogrficas. Tambin puede
asociarse a trminos como: "Autenticacin", "Autenticacin insuficiente",

70
"Password Recovery Sistema "," La dbil validacin de recuperacin de
contrasea ".

BROADCAST: Transmisin de un paquete que ser recibido por todos los


dispositivos en una red.

Buffer Overflow: Desbordamiento de Buffer: Una tcnica de explotacin que


altera el flujo de una aplicacin sobrescribiendo partes de la memoria.
Desbordamientos de bfer es una causa frecuente de un mal funcionamiento del
software. Si los datos escritos en un bfer superan su tamao, el espacio de
memoria adyacente se corromper y normalmente producen un fallo. Un atacante
puede ser capaz de utilizar esta situacin de desbordamiento y alterar el proceso
del flujo de una aplicacin. Si sobrecarga el buffer y se sobrescriben por ejemplo
los punteros en la pila de memoria, esta accin podra ser utilizada para ejecutar
rdenes erradas al sistema operativo. ".

CGI Scanner: Programa de seguridad automatizada que busca vulnerabilidades


en servidores web y en aplicaciones web. Su uso muchas veces no va ms all
de probar una serie de peticiones HTTP contra conocidas cadenas de CGI

Client-Side Scripting: Funcin de navegador Web que extiende la funcionalidad


e interactividad del lenguaje de marcado de hipertexto (HTML) esttico en las
pginas web. Ejemplos de lenguajes de script del lado del cliente son JavaScript,
JScript y VBScript. Vase tambin "controles ActiveX", "Java Applets ".

CGI: Acrnimo: (Common Gateway Interface): Programacin


estndar para el software para conectar y ejecutar aplicaciones que residen
en los servidores web. Vase tambin "Aplicacin Web", "Servidor de
aplicaciones",
"Servidor Web

Controles ActiveX: Controles ActiveX son programas informticos basados en la


Component Object Model (COM) y anteriormente conocido como OLE
controles. Los controles ActiveX son portables y reutilizables, y pueden ser
utilizados por muchos lenguajes de programacin. Ellos son ampliamente
utilizados por las aplicaciones web para extender su funcionalidad (por ejemplo: el
sitio Windows Update) Vase tambin "Java", "applets Java", "JavaScript", "Web
Browser ".

Content Spoofing: La suplantacin de contenido: Una tcnica de ataque


utilizada para engaar a un usuario para que acceda a contenidos falsos
creyendo que son datos legtimos.

71
Cookie: Pequea cantidad de datos enviados por el servidor web, a una web de
un cliente, que puede ser almacenada y recuperada en un momento posterior.
Tpicamente se utilizan cookies para realizar un seguimiento de un estado de los
usuarios a medida que usan, navegan o interactan con un sitio web.

Cookie Poisoning: (Obsoleto). Vea Manipulacin Cookie.

Cross-Site Scripting: (acrnimo - XSS) Una tcnica de ataque que obliga a un


sitio web para hacerse eco de los datos suministrados por el cliente, que se
ejecutan en un navegador web por parte del usuario. Cuando un usuario
interacta entre varios sitios y aplicaciones que estn haciendo eco de datos
entre s, el atacante tendr acceso a todo el contenido navegador web (cookies,
historial, versin de la aplicacin, etc). Vase tambin "Client-Side Scripting".

CSMA/CD (Carrier Sentido acceso mltiple / Deteccin de Colisin) es el protocolo


usado en Ethernet en red para garantizar que slo un nodo de red se transmite en
el cable de red en cualquier momento.

CONFIDENCIALIDAD: Que la informacin solo sea vista por los lentes


involucrados en la comunicacin y que un tercer no pueda ingresar.

CONTROL DE ACCESO Y AUTORIZACIN: el proceso de determinar los


recursos y servicios que puede usar una entidad.

CORTAFUEGOS: Elemento de prevencin que realizara un control de acceso


para proteger una red de los equipos del exterior (potencialmente hostiles).

DENEGACIN DE SERVICIO (DoS): ataque que hace una apropiacin exclusiva


de un recurso o servicio con la intencin de evitar cualquier acceso a terceras
partes. En ingls, deny of service.

Debug Commands: Los comandos de depuracin: Son caractersticas de


depuracin de aplicaciones o comandos que ayudan a identificar los errores de
programacin durante el proceso de desarrollo de software.

Directory Traversal: Una tcnica utilizada para explotar sitios web al


acceder a los archivos y los comandos ms all del directorio raz de los
documentos que forman la estructura del sitio. La mayora de los sitios web deben
restringir el acceso de usuarios a una parte especfica del sistema de archivos
que normalmente se denomina el directorio raz de documentos o de raz CGI
directorio. Estos directorios contienen los archivos ejecutables
destinados al uso pblico. En la mayora de los casos, un usuario no debera
poder acceder a los archivos ms all de este punto.

72
DESBORDAMIENTO DE BUFFER: posibilidad de corromper la pila de ejecucin
para modificar el valor de retorno de una llamada a funcin y provocar la ejecucin
de cdigo arbitrario.

DISPONIBILIDAD: Los servicios y la informacin deben, en todo momento, estar


disponibles.

DNS: Servicio de Nombres de Dominio.

DoS: (de las siglas en ingls Denial of Service), Ataque de Denegacin de servicio

DDoS: (de las siglas en ingls Distribuited Denial of Service), Ataque de


Denegacin de servicio Distribuido

Encoding Attacks: Los ataques de codificacin: una tcnica que ayuda a la


explotacin de un ataque de cambiar el formato de los datos proporcionados por
el usuario para omitir la comprobacin de aplicacin de filtros. Vase tambin "
Null Injection".

Examen de directorios: (Obsoleto) Vase "Indexacin de Directorio".

Enumeracin de Directorio: (Obsoleto) Consulte "Ubicacin de archivo


predecible"

Expiracin de sesin insuficiente: Cuando un sitio web permite a un


atacante reutilizar credenciales de sesiones viejas o anteriores para
autorizacin y poder tener ingreso.

Form Field Manipulation: Manipulacin de campos en formularios: La alteracin


o modificacin de formularios HTML. Los valores del campo de entrada que se
ingresan mediante HTTP, sirven para explotar los problemas de seguridad en una
aplicacin web. Vase tambin "Cookie

ESCNER DE VULNERABILIDADES: aplicacin que permite comprobar si un


sistema es vulnerable a un conjunto de deficiencias de seguridad.

EXPLOIT: aplicacin, generalmente escrita en C o ensamblador, que fuerza las


condiciones necesarias para aprovecharse de un error de programacin que
permite vulnerar su seguridad.

EXPLORACION DE PUERTOS: tcnica utilizada para identificar los servicios que


ofrece un sistema.

73
EXPLOTACIN DE UN SERVICIO: actividad realizada por un atacante para
conseguir una escalada de privilegios, abusando de alguna deficiencia del servicio
o del sistema.

FINGERPRINTING: Huella identificativa.

FIREWALL: Un equipo que impone un conjunto de directivas de seguridad que


restringen de forma severa el acceso al sistema y a los recursos.

Formato de ataque String: Una tcnica de explotacin que altera el flujo de una
aplicacin mediante operaciones de biblioteca de formato de cadenas para
acceder a otra instancia o momento de la aplicacin.

FRAGMENTACIN IP: proceso de divisin de un datagrama IP en fragmentos de


menor longitud.

HERRAMIENTA DE MONITOREO JFFNMS: Es un sistema de gestin y


monitorizacin de red designando para monitorizar una red IP, puede ser utilizado
para monitorizar cualquier dispositivo SNMP, router, switch, servidor, puerto TCP
o cualquier elemento siempre que se programe una extensin adecuada a dicho
elemento JFFNSM.

HIDS: Sistemas de deteccin de intrusos de Ordenador

HUELLA IDENTIFICATIVA: informacin muy precisa que permite identificar un


sistema o una red en concreto. En ingls, fingerprinting.

ICMP: Internet Control Message Protocol.

IANA: Internet Assigned Numbers Authority

Indexacin de Directorio: Una caracterstica comn a los servidores web ms


populares, que expone el contenido de un directorio cuando no est presente la
pgina de ndice. Vase tambin "Ubicacin del archivo predecible".

Insuficiente Autenticacin: cuando un sitio web permite a un atacante


acceder a contenido sensible o a sus funcionalidades sin verificar su
identidad. Vase tambin "Autenticacin".

Insuficiente Autorizacin: Cuando un sitio web permite a un atacante


acceder a contenido sensible o a sus funcionalidades que deberan requerir
mayores restricciones de acceso y control. Vase tambin "Autorizacin".

74
IDS (Intrusion Detection System): Sistema de deteccin de Intrusos. Es una
herramienta que permite monitorear el comportamiento y el uso que se le da a los
recursos en una mquina y detectar si alguien est haciendo algo indebido.

IEEE: Tecnologa desarrollada por Apple Computer en 1986 que permite transmitir
informacin a alta velocidad. Fue adoptado como estndar en 1995 y es similar al
puerto USB.

IEEE 802.3 proporciona una LAN estndar desarrollada originalmente por Xerox y
ampliada. Define dos categoras: banda base (especfica una seal digital) y
banda ancha (especifica una seal analgica). IEEE define nicamente una
especificacin para la categora de banda ancha. Sin embargo, la restriccin de la
mxima longitud del cable puede cambiar usando dispositivos de red tales como
repetidores o puentes.

INTEGRIDAD: los datos reflejen la realidad y que correspondan con lo que debe
ser y no ha sido modificadas indebidamente.

INTERNET CONTROL MESSAGE PROTOCOL (ICMP): protocolo encargado de


realizar el control de flujo de los datagramas IP que circulan por la red.

INTERNET PROTOCOL (IP): protocolo para la interconexin de redes.

INTEGRIDAD: Los datos reflejan la realidad y que correspondan con lo que debe
ser y no ha sido modificadas indebidamente.

Java: Lenguaje de programacin popular desarrollado por Sun


Microsystems (tm). Vase tambin "ActiveX controls", "Navegador Web",
"JavaScript", "Client-Side Scripting".

Java Applets: Un applet es un programa escrito en un lenguaje de programacin


como Java que puede ser incluido en una pgina web. Cuando un
navegador web tiene habilitado java, y la pgina contiene applets , el
cdigo es ejecutado por la mquina virtual de Java (JVM). Vase tambin "Web
Browser "," Java "," ActiveX "," JavaScript "," Client-Side Scripting ".

JavaScript: Lenguaje de scripting del lado cliente utilizado por el navegador web,
para crear contenido dinmico pgina web. Vase tambin "ActiveX", "Java
Applets "," Client-Side Scripting ".

LDAP Inyeccin: Una tcnica para la explotacin de un sitio web mediante la


alteracin de backend sentencias LDAP a travs de la manipulacin de entrada
de la aplicacin. Al igual que en la metodologa de inyeccin SQL. Vase tambin
"Parmetro Manipulacin "," Manipulacin de campos de formulario.
75
MAC: Media Access Control

Manipulacin Cookie: La alteracin o modificacin de los valores de las cookies


del navegador web del cliente, para explotar aspectos de seguridad dentro de una
aplicacin web. Los atacantes normalmente manipulan los valores de los cookies
para autenticarse y realizar fraudes a la aplicacin web. Este es un tpico ejemplo
de establecer por defecto la configuracin predeterminada de los navegadores .
Vase tambin "Cookie".

Manipulacin de Nombre de Archivo: Una tcnica de ataque usada para


explotar sitios web mediante la manipulacin de los nombres de archivo de URL
para provocar errores de aplicacin, descubrir el contenido oculto, o visualizar el
cdigo fuente de una aplicacin. Vase tambin "Ubicacin del archivo
predecible".

MODEM ADSL: Modula las seales enviadas desde la red local para que puedan
transmitirse por la lnea ADSL y demodula las seales recibidas por sta para que
los equipos de la LAN puedan interpretarlos. De hecho, existen configuraciones
formadas por un mdem ADSL y un router que hacen la misma funcin que un
router ADSL.
MTU: Maximum Transfer Unit

MySQL: Es un sistema de gestin de base de datos relacional y multiusuario


ubica las tablas en ficheros diferenciados, es recomendable para desarrollos que
necesiten manejar numerosos registros y sesiones simultaneas.

NIDS: Sistema de deteccin de intrusos de Red.

NMAP: Programa de cdigo abierto que abierto que sirve para efectuar rastreo de
puertos TCP y UDP. Se usa para evaluar la seguridad de sistemas informticos
as como para descubrir servicios o servidores en una red informtica.

NMS (Network Management Station): estacin de red encargada de gestionar


varios dispositivos de red.

OID (Object ID): identifica de manera nica cada objeto representado en la MIB y
es una secuencia de nmeros enteros no negativos separados por un punto.

OSI: El Modelo OSI es un lineamiento funcional para tareas de comunicaciones y,


por consiguiente, no especifica un estndar de comunicacin para dichas tareas.

OWASP:(The Open Web Application Security Project).

76
PDU (Protocol Data Unit): define la estructura de la informacin que va a ser
enviada por la red.

PHP: Es Un lenguaje de programacin interpretado, diseado originalmente para


la creacin de pginas web dinmicas. Es usado principalmente en interpretacin
del lado del servidor (serverside scripting) pero actualmente puede ser utilizado
desde una interfaz de lnea de comandos o en la creacin de otros tipos de
programas incluyendo aplicaciones con interfaz grafica.

PUERTA DE ENLACE: Es La que proporciona salida hacia el exterior a una red


local.
ROUTER: Es un dispositivo que permite conectar uno o varios equipos o incluso
una red de rea local (LAN) a Internet a travs de una lnea telefnica con un
servicio ADSL.
Revelacin de Informacin: Cuando un sitio web revela datos sensibles, tales
como comentarios de los desarrolladores o mensajes de error, lo que ayuda a un
atacante a explotar el sistema.

Servidor de aplicaciones: Un servidor de software, normalmente a travs de


HTTP, que tiene la capacidad de ejecutar aplicaciones web dinmicas. Tambin
se conoce como middleware.

RRDTOOL: Herramienta que trabaja con una base de datos que maneja
planificacin segn Round-Robin. Esta tcnica trabaja con una cantidad de datos
fija, definida en el momento de crear la base de datos, y un puntero al elemento
actual. Su finalidad principal es el tratamiento de datos temporales y datos seriales
como temperaturas, transferencias en redes, cargas del procesador, entre otros.

SNMP: (Simple Network Managment Protocol): usado para administrar la


configuracin de dispositivos de red desde una estacin de trabajo.

SMI (Structure of Management Information): define agrupaciones, nombres,


tipos de datos permitidos y la sintaxis para escribir MIBs.

SYN: Bit de control dentro del segmentoTCP.

SYN FLOODING: Ataque de denegacin de servicio que se basa en no


complementar intencionadamente el protocolo de intercambio de TCP.

TCP: Transmission Control Protocol.

77
TCP/IP: Es la base de Internet, y sirve para enlazar computadoras que utilizan
diferentes sistemas operativos, incluyendo PC, minicomputadoras y computadoras
centrales sobre redes de rea local (LAN) y rea extensa (WAN)

TIA: Telecommunications Industry Association.

TRANSMISSION CONTROL PROTOCOL (TCP): Protocolo de transporte de la


arquitectura de protocolos TCP/IP.

TTL: Time To Live

UDP: User Datagram Protocol.

USER DATAGRAM PROTOCOL (UDP): protocolo de transporte de la


arquitectura.

USM (User-based Security Model): modelo de seguridad utilizado por SNMPv3


para administrar el envo de mensajes SNMPv3.

Ubicacin de Archivo Predecible: Una tcnica que se utiliza para acceder a los
datos ocultos de un sitio web o a su contenido o funcionalidad, haciendo
conjeturas, de forma manual o automticamente a los los nombres y ubicaciones
de los archivos. Los lugares pueden incluir directorios, archivos de configuracin
de copia de seguridad archivos, archivos temporales, etc

Validacin de proceso insuficiente: cuando un sitio web permite a un


atacante para eludir o evadir el control de flujo previsto de un
aplicacin.

VACM (View-based Access Control Model): modelo de control de acceso que


permite administrar quien tiene acceso a qu informacin en la MIB.

WINPCAP: Es el mejor motor de captura de paquetes y filtrado de muchas de las


herramientas de las herramientas de red comerciales y de cdigo abierto,
incluyendo analizadores de protocolos, monitores de red, sistemas de deteccin
de intrusos de red.

78
ANEXOS
ANEXO 1:

OWASP Top 10. Traducido al espaol: Documento pdf de 22p.

Copyright 2003 2010 Fundacin


OWASP
Este documento es publicado bajo la licencia Creative Commons Attribution ShareAlike 3.0. Para
cualquier reutilizacin o distribucin, usted debe dejar en claro a otros los trminos de la licencia
sobre este trabajo.

ANEXO 2: Informe que compara las licencias de desarrollo, la tecnologa y las


fuentes de los diferentes escneres.

ANEXO 3: Informes comparativo de la deteccin de vulnerabilidades de los


distintos escneres probados:

ANEXO 4: Informe que compara las caractersticas complementarias de deteccin


de vulnerabilidad en los buscadores probados:

ANEXO 5: Informe donde se comparan las caractersticas de usabilidad, cobertura


y estabilidad de los buscadores probados:

79
FUENTES DOCUMENTALES

LUIS GMEZ FERNNDEZ Y ANA ANDRS LVAREZ . Gua de aplicacin de la Norma UNE-
ISO/IEC 27001 sobre seguridad en sistemas de informacin para pymes. 2. edicin
Autores: AENOR (Asociacin Espaola de Normalizacin y Certificacin), 2012 Todos los
derechos reservados. AENOR. ISBN: 978-84-8143-7 - Impreso en Espaa Edita:
AENOR Maqueta y diseo de cubierta: AENOR

Disponible en internet http://site.ebrary.com/lib/unadsp/Doc?id=10637105&ppg=2 Con


acceso Noviembre de 2012

Miguel Colobran Huguet, Josep Maria Arqus Soldevila y Eduard Marco Galindo. Editorial
UOC Primera edicin en lengua castellana: noviembre 2008. Espaa: Editorial UOC, 2008.
p 4.

Disponible en Internet < http://site.ebrary.com/lib/unadsp/Doc?id=10638510&ppg=5>


con acceso Octubre de 2012

HOWARD, MICHAEL LEBLANC, DAVID. 19 puntos crticos sobre seguridad de software:


fallas de programacin y cmo corregirlas. Pg: 305. Editorial: McGraw-Hill Professional
Publishing Ubicacin: Mxico. Fecha de publicacin: 12/2010. Idioma: es pISBN:
9789701058985

DAZ, GABRIEL MUR, FRANCISCO SANCRISTBAL, ELIO. Seguridad en las comunicaciones y


en la informacin. Pginas: 473. Editorial: UNED - Universidad Nacional de Educacin a
Distancia. Ubicacin: Espaa. Fecha de publicacin: 2004. Idioma: es
Nmero de clasificacin de la Biblioteca del Congreso: eISBN: 9788436247893

JUSTIN, CLARKE. SQL Injection Attacks and Defense. Syngress Publishing, Inc. Elsevier,
Inc. 30 Corporate Drive ISBN 13: 978-1-59749-424-3.

CUI-MEI, B. Intrusion Detection Based on One-class SVM and SNMP MIB data.
Shandong University of Technology Zibo. China 2009. Fifth International
Conference on information Assurance and Security, p. 346-351.

SCHUBA, C; KRSUL, I; KUHN, M; SPAFFORD, E; SUNDARAM, A y


ZAMBONI,D. Analysis of Denial of Service Attack on TCP. COAST Laboratory.
Departament of Computer Sciences Purdue University, p. 66-82.

TSUNODA, H ; OHTA, K[b]; YAMAMOTO , A; ANSARI, N [d]; WAIZUMI, Y , y


NEMOTO, Y . Detecting DRDoS attacks by a simple response packet confirmation
mechanism. Computer Comunications Journal. 2008, p. 3299-3307

80
CARVAJAL, A. Introduccin a las tcnicas de ataque e investigacin Forense,
Un enfoque pragmtico. Colombia, Agosto de 2007, seg Ed, p. 245

CRUZ, A y TORRES, P. Sistema para Generar Grficas a Partir de Logs


Tcpdump usando Hadoop. Escuela Superior Politcnica del Litoral. Guayaquil,
Ecuador, p. 59

HIA, H y MIDKIFF, S. Securing SNMP Across Backbone Networks. Bradley


Departament of Electrical and Computer Engineering. Virginia Polytechnic
Insttitute and State University. Virgini USA, p . 190-198.

ZENG, W y WANG, Y. Design and implementation of Server Monitoring System


Based on SNMP. College of Information & Technology, Hebei University of
Economics & Business. Information and Network Management Center, North
China Electric Power University, p. 680-682

HATEFI, F y GOLSHANI, F. A new framework for secure network


management. Departament of Computer Science and Engineering, Arizona State
University, Tempe, USA. 1999, p. 629-636.

BERNSTEIN. J. Daniel. Bernstein's own explanation of SYN Cookies Disponible


en Internet. http://cr.yp.to/syncookies.html

81

Você também pode gostar