Tácticas de defensa contra ataques DoS 1.

Anuncio
Tácticas de defensa contra ataques DoS
1.- Diseño original de TCP/IP sin seguridad
El conjunto de protocolos TCP/IP fue diseñado originalmente sin considerar
apenas elementos de seguridad, esto fue debido al carácter abierto con el que fue
concebido Arpanet, se trataba en principio de una red cuyos hosts confiaban unos con
otros. Esta falta de seguridad en el diseño original posibilita hoy en día a los intrusos el
realizar determinadas acciones que interrumpan los servicios ofrecidos por los sistemas.
Ataques contra yahoo, amazon, CNN, FBI,....
2.- Anatomía de un ataque DoS y DDoS
El ataque DoS es uno de ellos y básicamente consiste en el envio masivo de
paquetes TCP de tipo SYN, lo que se conoce como petición de conexión, de esta forma
la pila de conexiones del host se llena fácilmente e impide el atender otro tipo de
conexiones legitimas. Mediante ataques DDos el atacante puede lanzar la inundación
SYN desde múltiples hosts a la vez los cuales han sido comprometidos previamente por
el intruso mediante la instalación de un troyano. XP posibilita esto mucho debido a que
permite construir paquetes (raw sockets) sin necesidad de ser administrador. En W2000
no pasaba.
En un ataque DoS se realiza habitualmente spoofing de IP con el fin de utilizar
una IP diferente a la suya (es muy difícil de llegar al origen verdadero), de esta manera
cuando el host atacado recibe el SYN, este responderá el ACK a la dirección falsa.
3.- Medidas a tomar
Las autoridades no tiene recursos y conocimientos para detener este ataque, son
los administradores, auditores y profesionales los que deben tomar las medidas
preventivas y detectivas así como correctivas.
Los administradores de sistemas e ISP’s deben protegerse contra ataques DoS
así como tomar las medidas adecuadas para que su sistema no sea utilizado en un ataque
Ddos como base, de no ser así pueden sufrir repercusiones legales ante las
responsabilidad civil que conlleva.
Medidas de prevención deben instalarse en sistemas de los ISP y en los nuestros,
estas medidas son:
Filtrado de IP en ISP’s a paquetes provenientes de IP’s autorizadas
Limitación de nº de paquetes/sg TCP SYN
Búsqueda reversa de IP para evitar el spoofing, utiliza DNS.
Monitorización del trafico de red, análisis del trafico para detección de ataques.
Arquitectura de seguridad basada en Políticas de seguridad relativas a fws,
routers de filtrado, IDS’s y planes de contingencia y recuperación de desastres
4.- Fws y routers
Deberían implementarse técnicas como:
Egress filtering: Filtrar entrada de paquetes con direcciones no enrutables y
salida de paquetes con direcciones no de la organización (evita la accion de troyanos al
no dejar salir sus paquetes) o no enrutables.
Protección contra ataques SYN flood en los fw’s: Algunos protegen guardando
el estado de las conexiones y existen parches especiales para DoS.
Bloqueo de broadcasts de IP en los routers de filtrado para evitar que nuestra red
se utilice como amplificador.
Denegar todos los accesos a servicios no autorizados por nuestra política de
seguridad (bloquear los puertos).
5.- IDS
Utiles para prevenir y detectar ataques DoS. Pueden detectar intrusiones y evitar
así que se produzca el ataque.
Pueden identificar troyanos para DoS.
Técnicas de control utilizadas para:
- Detectar cambios en ficheros del sistema Tripwire
- Encontrar huellas. Comandos last, netstat, lastcomm
- Detectar sniffers. Antisniff ¿Como funciona? Detecta nics en modo
promiscuo mediante arp.
- Ver usuarios activos y procesos
- Monitor de rendimiento para detectar ataques en tiempo real
Revisar a menudo las listas del CERT y el SANS
6.- RECUPERACIÓN DE DESASTRES
Desarrollar con el ISP un plan de recuperación de ataque DoS que cubra:
Procedimientos de shut down de servicios atacados
Filtrado de ciertos paquetes como ICMP en un momento dado
Utilización de logs
7.- SUMARIO
DoS ataques pueden realizar mucho daño económico y de imagen a las empresas
asi como generar problemas de responsabilidad civil.
ANEXO: Ataques DoS
La motivación del atacante suele ser la fustración por no haber podido acceder,
motivos personales/políticos y también la necesidad de reiniciar la maquina atacada
después de haberle realizado algún cambio en el sistema.
Tipos de ataques.
Consumo ancho de banda: Consumir AB de la víctima mediante amplificación o
bien disponiendo de mucho mas AB que la víctima.
Inanición de recursos: Consumir recursos del sistema (memoria, CPU, cuotas de
archivos, etc...) en lugar de recursos de red.
Desbordamientos de buffer: Aprovechar fallos en los programas para enviarles
cadenas enormes de datos a entradas requeridas por la aplicación y conseguir así un
desbordamiento, de esa forma pueden ejecutar código malicioso.
Ataques DNS y enrutamiento: Respectivamente se basan en contaminar la cache
de un servidor DNS para dirigir a la víctima a otro sitio y en manipular las tablas de
enrutamiento (protocolos RIP tienen debil autenticación o no se suele utilizar) para
denegar el servicio a redes conduciéndolas a redes no existentes o a la del atacante.
Ataque Smurf: Se trata de enviar paquetes ICMP ECHO a direcciones de
difusión para conseguir la amplificación con una direccion de origen falsa (spoofing)
con el fin de inundar con las respuestas a la víctima.
Ataque fraggle: Variante del anterior pero utiliza UDP en vez de ICMP.
Si el ECHO no esta activado en la red amplificadora, generaría una respuesta
ICMP inalcanzable que también consumiría AB.
Contramedida para no ser utilizados como difusión: Desactivar la función de
difusión en los routers frontera, estos ataques de difusión precisan la existencia de un
dispositivo que dispongan de la función de difusión de la capa 3 a la capa 2.
Contramedida para no ser atacados por difusiones: Limitar el trafico de entrada
ICMP y UDP en los routers frontera a solo sistemas necesarios y tipos ICMP
determinados. Una vez atacados es posible seguir el rastro comenzando por el sitio
amplificador hasta encontrar al atacante.
Inundacion SYN: Consiste en dejar las conexiones a medias, es decir, se envía
SYN a la víctima con la dirección falsa correspondiente a un host no existente, la
víctima enviara SYN/ACK a dicha dirección la cual no responderá (si existiera
respondería con RST y la víctima liberaría la entrada de la cola), de esta forma el
atacante envía mas SYN hasta llenar la cola de conexiones y denegar el acceso a hosts
legítimos, con muy poco ancho de banda lo puede conseguir.
Contramedidas: Existen varias contramedidas, algunas de ellas de detección de
ataque SYN mirando si tenemos muchas conexiones en estado SYN_RECV.
Las contramedidas serian:
-
Aumentar tamaño de la cola de conexión
Disminuir tiempo de establecimiento de conexión
-
-
Parches para detectar y evitar ataques SYN: Muchos SOP ya los tienen, p ej
NT 4.0 SP2 incorpora una funcionalidad para asignar dinámicamente mas
recursos a la cola si se detecta ataque SYN.
Emplear IDS de red: Pueden detectar el ataque y enviar paquetes RST a la
víctima para liberar su cola.
Ataque DNS: Las versiones BIND inferiores a la 4.9.5+P1 son vulnerables cuando
se activa la recursión DNS (esta recursión permite a un servidor DNS contestar a
peticiones de zonas a las que no sirve, simplemente consultando al servidor de dicha
zona y devolviendo la respuesta al peticionario). Un atacante podrá contaminar la cache
del servidor para desviar a otro sitio, de esta forma se puede denegar servicio si se le
asigna a un nombre de host una IP no existente.
Contramedida: Actualizar el BIND a la 4.9.6 u 8.1.1 o superior.
Ataques DNS remotos: La mayoría son debidos a defectos de programación en la
implantación de pilas IP que realiza cada fabricante en particular. Todos los ataques se
basan en enviar determinados paquetes a la pila que exploten los defectos de
programación.
Integración de fragmentos IP: Ataques como TearDrop explotan las
vulnerabilidades de la integración de paquetes fragmentados en las pilas IP (los
paquetes se fragmentan al pasar por redes de diferente MTU), algunos bucles de SOP no
manejan bien la integración de los fragmentos.
Contramedida: Actualizar los núcleos de Linux al 2.0.x o 2.2.x y en NT actualizar
al SP3. En general actualizar a los últimos parches en los SOP suelen corregir estas
vulnerabilidades.
Fuga Spool en NT. Tuberías con nombre en RPC: Existe una fuga de memoria en
spools.exe lo cual permite que un atacante se conecte (incluso con sesión nula aunque
este activado RestrictAnonymous) a \\server\pipe\spools y consuma toda la memoria del
sistema realizando Dos.
Contramedida:
Borrar
spools
de
la
clave
del
registro
HKLM\System\CCS\Services\LanmanServer\Parameters\NullSessionPipes
(REG_MULTI_SZ). Esto soluciona el ataque de sesiones nulas pero no de sesiones
autenticadas.
Ataque Dos de desbordamiento de buffer en servidores FTP de IIS: Se utilizan los
desbordamientos para realizar Dos o bien para proporcionar acceso como superusuario.
El comando list del FTP de IIS es vulnerable a desbordamiento, además pueden ejecutar
list con conexiones FTP anónimas con lo cual estas conexiones podrían llegar a ejecutar
código arbitrario en el servidor.
Contramedida: Instalar SP5 y SP4.
Ataques Stream y Raped: Son del tipo de inanición de recursos, pueden atacar a
muchos SOP incluido NT. Síntomas son consumo alto de CPU en un periodo y vuelta a
situación normal (se puede revisar con el monitor del sistema). Ataque stream envía
paquetes TCP ACK a unos puertos con secuencias aleatorias y direcciones IP aleatorias.
Raped envía paquetes TCP ACK con direcciones IP trucadas.
Contramedida: No existe parche para NT.
Ataques distribuidos de negación de servicio (Ddos). Los atacantes mediante
herramientas Ddos instalan demonios en hosts comprometidos para utilizarlos en el
ataque distribuido. Vamos a ver estas herramientas.
TFN: Tribe Flood Network. Disponible para UNIX. Utiliza cliente/servidor.
Diferentes tipos de ataque ICMP, Smurf, UDP, inundaciones SYN. Permite ejecutar un
shell root unido a un pto TCP.
Contramedidas: Utilizar herramientas de detección como DDOS-Ping, Zombie
Zapper y find_ddos. Prevenir que se comprometan nuestros sistemas para no ser
utilizados como zombies. Desactivar trafico ICMP que entra en nuestra red. Para
prevenir ser atacados desde zombies podemos realizar filtrado de velocidad ICMP en
los routers frontera.
Trinoo: Funciona haciendo hablar a un programa de control remoto (cliente) con
un maestro encargado de proporcionar la orden de ataque a los servidores.
Comunicación cliente/maestro mediante TCP 27665, suele usar la contraseña
betaalmostdone. Comunicación maestro/servidor mediante UDP 27444, comunicación
servidor/maestro mediante UDP 31335.
Cliente à Maestro à Servidor (demonios)
Contramedida: Idem que TFN.
Stacheldraht: Combina características de Trinoo y TFN, además permite
establecer conexiones telnet cifradas mediante alg. de clave simétrica entre esclavos y
maestros, de esta forma pueden evitar ser detectados por IDS de red.
Contramedida: Idem TDFN.
TFN2K: Sucesor de TFN. Permite comunicaciones aleatorias en los puertos
(evitando así el bloqueo en los routers de los puertos conocidos) y el cifrado como
Stacherldraht aunque mas débil (codificación Base 64).
Contramedidas: Idem TFN.
WinTrinoo: Versión para Windows de Trinoo. Es un troyano cuyo ejecutable se
llama service.exe (si no se renombra) de 23.145 bytes. Escucha en los puertos TCP y
UDP 34555.
Contramedidas: Localizar y eliminar service.exe. Barrer la red buscando puertos
abiertos 34555 y cerrarlos.
Ataques Dos locales: Son menos habituales aunque tan dañinos como los remotos.
Suelen utilizarse para consumir recursos. Veamos algunos.
NT 4.0 Terminal server y proquota.exe: En la versión de Terminal Server se puede
explotar la funcionalidad de cuotas de disco con el fin de que un usuario pueda llenar
%unidaddesistema% ademas de la cuota que tiene asignada. Esto afectaría al resto de
usuarios de diversas formas.
Contramedida: Lo mejor es situar los archivos del sistema en una partición
diferente a donde estén los datos accesibles por los usuarios.
Descargar