por IDORU (conde0) conde0@telefonica.net Revisión:
14-XI-2002
I. Introducción
Esta no es una comparativa donde se recomiende ningún
firewall (cortafuegos) en particular, tan sólo se
ha intentado probar el rendimiento de los cortafuegos más
conocidos.
Las herramientas utilizadas han sido programadas por mí
(excepto Jolt2) y están disponibles para todo el
mundo. Los interesados en hacer sus propias pruebas han
de enviar un e-mail a conde0@telefonica.net.
Hay dos cortafuegos de los probados que es conocido, por
posts en la lista de seguridad Bugtraq, que son vulnerables
a un ataque DoS syn. En esta comparativa se ha logrado reproducir
el bug en uno de ellos (Kerio 2.1.4) y encontrando tal vulnerabilidad
en el SYGATE Pro. Hay que tener en cuenta que esos bugs
fueron probados sobre una LAN (red local) de 100Mpbs, pero
esa no es una velocidad que se pueda alcanzar en internet.
Estas pruebas han sido realizadas sobre una LAN de 10Mpbs
que permite una tasa de transferencia de 300Kb/s, cifra
más cercana a lo que se puede conseguir por internet
con un ataque de smurf o DDoS. El sistema operativo usado
ha sido W2000 Server.
Hay que decir que en todos los casos se ha configurado
los cortafuegos con las opciones de las que disponían
para repeler los ataques realizados, nunca se los ha dejado
con la configuracion por defecto.
II. Herramientas utilizadas
Las herramientas han sido programadas con sencillez para
simular tres de los ataques de denegacion de servicio (D.o.S.)
más comunes y un troyano. Son éstas:
Icmp bombing: en realidad es un programa de smurf pero
usado de forma local. Inunda al host objetivo de paquetes
ICMP Echo Request de 1Kb a una velocidad de 300Kb/s, más
o menos el trafico que llegaría en un ataque de smurf
remoto.
Inundacion syn: cada vez que un host recibe una petición
de conexión tiene que reservar recursos para procesarla,
si se inunda un host con peticiones de conexión desde
el puerto 1 al 1024 (u otro rango) los recursos ocupados
llegaran al 100%.
Jolt2: este ataque posteado en Securiteam se aprovecha de
un fallo en el reensamblaje de paquetes de W98, NT, W2000
y algunos dispositivos de red (firewalls, routers, etc)
para consumir el 100% de la CPU.
Programa de comunicacion en java que intenta primero comunicarse
mediante el protocolo DNS y luego mediante el ICMP timestamp
-petición de hora-. Esto viene a demostrar lo expuesto
en Vsantivirus sobre la dificultad de la mayoría
de cortafuegos para detectar los programas que no usan la
libreria winsock para establecer las conexiones (caso de
Java). No es un troyano porque no tiene las funciones de
acceso remoto y es él quien empieza la conexión
(más bien sería parecido a un LEAKTEST de
los creados por Steve Gibson y compañía).
Hay que decir que realizar un troyano en Java no sería
tan fácil como en otros lenguajes, pero podría
ser perfecto para instalar herramientas de DoS distribuido
en PC ajenos. Estas herramientas responderían a una
orden del hacker para inundar con paquetes UDP o ICMP a
un objetivo. El ultimo ataque que se reportó contra
los servidores DNS raíz de Internet fue de este tipo.
Con el análisis de las versiones Pro de los cortafuegos,
las pruebas con el troyano han resultado mejores que con
las versiones normales.
Nmap: con este escaner se pueden hacer escaneres ACK que
permiten saber si un puerto está filtrado o no sin
que lo detecten los cortafuegos que no sean de estado (stateful
firewall), o sea todos menos el Vinestic y el IPtables.
Además se ha probado el scan de sistema operativo
(Para que este scan funcione es necesario que esté
abierto un puerto).
III. Resultados
En el caso de los ataques de denegación de servicio
el objetivo es consumir el 100% del tiempo de la CPU, siendo
más o menos parecido el consumo cuando no ha funcionado.
WINDOWS:
-KERIO 2.1.4
Smurf: NO
Inundación syn: SI, es vulnerable. Si se desactiva
la opcion de logear el trafico a un archivo el consumo de
CPU no pasa del 30%
Jolt2: NO
Scan de S.O.: NO
Scan Ack: SI
Troyano: NO detecta la salida del paquete DNS, pero SI la
vuelta. También detecta el paquete ICMP.
-KERIO 3 Beta 3
Smurf: NO
Inundación syn: Mientras duró el ataque se
producían errores constantes en el driver que abrían
ventanas y obligaban a apagar el kerio si se quería
usar cualquier otro programa. Al desactivar la opción
log to ids.log el ataque no tiene efecto (pero se pierde
el IDS). En la nueva Beta 4 ya han resuelto el problema,
4 días después de haberles sido comunicado
el fallo!!!
Jolt2: NO
Scan de S.O.: NO
Scan Ack: SI
Troyano: no aplicable. El Kerio 3 no permitía ejecutar
desde la línea de comandos el programa (por maty:
ya que controla todo lo que se inicia en el ordenador, que
es lo que deberían hacer el resto de cortafuegos).
-LOOK'N'STOP 1.0.3
Smurf: SI
Inundación syn: SI
Jolt2: SI. Es necesario hacer lo recomendado por los programadores
del look&stop que es desactivar el log para todas las
reglas (la !). Si se toma esa medida los tres ataques de
denegacion de servicio no tienen efecto.
Scan de S.O.: si funciona puediendose indentifica claramente
el sistema operativo usado incluso con los service pack
instalados (y por lo tanto las vulnerabilidades que tiene).
Scan Ack: SI
Troyano: detecta tanto la salida del paquete DNS como el
ICMP.
-NORTON
Smurf: NO
Inundación syn: SI
Jolt2: No detecta los paquetes fragmentados (falta por probar
si los paquetes realmente traspasan el firewall como parece,
ya que mi versión de W2000 no es vulnerable a ese
ataque y la cpu no sube al 100%).
Scan de SO: no aplicable, Norton no permite abrir puertos
Scan Ack: SI
Troyano: detecta tanto la salida del paquete DNS como el
ICMP
-OUTPOST PRO
Smurf: NO
Inundación syn: NO, aunque en alguna prueba alcanzó
picos de 100% pero nunca continuos
Jolt2: NO
Scan de S.O.: SI
Scan Ack: SI
Troyano: detecta tanto la salida del paquete DNS como la
del ICMP.
-SYGATE PRO 5.0
Smurf: NO
Inundación syn: SI
Jolt2: NO
Scan de sistema operativo (S.O.): NO
Scan Ack: SI
Troyano: NO detecta las comunicaciones UDP simulando ser
un paquete DNS, ni poniendo un regla para evitarlo. SI detecta
las comunicaciones UDP simulando ser ICMP (timestamp).
-VISNETIC FIREWALL 1.2
Smurf: NO
Inundación syn: NO
Jolt2: NO
Scan de S.O.: NO
Scan Ack: NO funciona, aunque no son detectados.
Troyano: NO detecta los paquetes que simulan ser DNS pero
SI los ICMP
-ZONEALARM PRO 3.1
Smurf: NO
Inundación syn: NO
Jolt2: NO
Scan de S.O.: SI
Scan Ack: SI
Troyano: NO detecta los paquetes DNS pero si los ICMP.Hay
que destacar que en la version normal los paquetes ICMP
no son detectados.
*NOTA: El WINROUTE (con KERIO interno) también debería
ser atacado, pero es más para redes, y no tanto para
estaciones de trabajo (pendiente manual, prometido desde
hace mucho tiempo).
LINUX:
-IPTABLES (Linux)
Smurf: NO
Inundación syn: NO
Jolt2: NO
Scan de S.O.: NO
Scan Ack: NO
Troyano: detecta tanto los paquetes UDP como los ICMP