| por idoru (conde0)
conde0@telefonica.net Revisión: 14-XI-2002
COMPARATIVA DE CORTAFUEGOS
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
Continuará ...
|