Sei sulla pagina 1di 7

Arias, Homero; Granda, Alexandra y Ramos, Daniela.

Escuela Politcnica Nacional-Facultad de Ingeniera en Sistemas


Quito-Ecuador

DDoS Attack: HTTP Flood

ResumenExisten varios tipos de ataques de denegacin de


servicio (DoS), cuyo objetivo principal es denegar el acceso al
servidor de una organizacin que provee algn servicio por
tiempo indefinido. En este caso implementaremos una
evolucin de este tipo de ataque: El DDoS (Distributed Denial
of Service), que se diferencia del anterior en que el ataque se
genera desde distintos equipos simultneamente, con el
objetivo de saturar un mismo servidor. El presente trabajo se
enfoca en la evaluacin de ataques DoS tipo HTTP flood. La
herramienta evaluada fue Anonymous DDoSer, instalada
sobre Windows. Para la investigacin se realiz un mecanismo
de deteccin de trfico a nivel de interfaz de red, y mitigacin
a nivel de servidor y de firewall interno del servidor, mediante
la aplicacin de reglas de restriccin de trfico. Finalmente, se
evalu el consumo de memoria y CPU durante el ataque, la
deteccin y mitigacin; para determinar el impacto. Los
resultados demuestran que los mecanismos detectan, controlan
y mitigan los ataques.
ndice de Trminos ataques DDoS, HTTP flood

1.

Windows. Y se ha tomado como mtodo de mitigacin la


configuracin de un firewall disponible en Linux llamado
IPtables [4].
Podemos destacar entre las principales contribuciones de
esta investigacin: i) el anlisis de ataques HTTP Flood
mediante una herramienta generadora, y ii) la creacin de
reglas, dentro de IPtables para que el mismo firewall las
ejecute.

2.

2.1. Objetivo general


Ganar conocimiento acerca de los ataques DDoS.
2.2. Objetivos especficos
Entender la diferencia entre ataques a nivel de la capa de
red y los ataques a nivel de la capa de aplicacin, mediante el
anlisis de un experimento dentro de un entorno virtual.
Estar en la capacidad de detectar, prevenir y controlar una
amenaza del tipo estudiado.

INTRODUCCIN
3.

Los sistemas informticos comnmente sufren muchos tipos


de ataque, y hablando de pginas web o servicios online, los
ataques de denegacin de servicio (DDoS) son probablemente
los ms comunes a la hora de tumbar estos servicios.
Consisten bsicamente en cientos de solicitudes concurrentes
hacia un mismo servidor. Estas amenazas pueden provocar la
disminucin del rendimiento, perdida de la productividad, y
sobre todo el fin de dichos ataques es la cada del servicio en
s mismo, lo que provocara gran costo para las empresas
proveedoras [1]. Este artculo centra su atencin en el anlisis
del trfico al cual se expone nuestro servicio, y a la
identificacin y mitigacin de estas amenazas. Todos los tipos
de sitios web, grandes y pequeos, han sido vctimas de estos
ataques [2].
El presente trabajo se enfoca en la captura y el anlisis de
ataques DDoS de tipo HTTP Flood, utilizando para ello un
entorno virtual de red como plataforma experimental, que nos
permitir observar cmo actan dichos ataques en la
saturacin de los recursos del servidor. La topologa utilizada
para la experimentacin consiste en una red con segmentacin
LAN y WAN. La herramienta utilizada y evaluada fue
Anonymous DoSer [3] instalada bajo distintos ambientes

OBJETIVOS

FUNDAMENTO TERICO

A. Virtualizacin
A La virtualizacin de un sistema operativo consiste en la
gestin del hardware de un sistema, como CPU, memoria,
dispositivos E/S, para poder ejecutar varias imgenes de
sistemas operativos al mismo tiempo [5].
B. Entorno Virtual
Un entorno virtual es un ambiente de desarrollo que mediante
virtualizacin permite la simulacin de un entorno real como
por ejemplo una red entre computadoras.
C. Denegacin del servicio
Los ataques de negacin del servicio son aquellos que
niegan el acceso al mismo a un usuario legtimo. Los ataques
DoS, normalmente trabajan de dos maneras: mediante la
generacin de trfico basura que inunda al servicio, o
aprovechando errores en el sistema que les permiten acceder a
ellos. Por ejemplo en un servidor de correo electrnico, se
enva una gran cantidad de correo hasta que el servidor niega
su servicio o el mismo se satura [7].
Es necesario distinguir la diferencia entre DoS y DDoS. Los
ataques DoS son generados desde una sola mquina atacante
mientras que los ataques DDoS son ataques distribuidos entre
varios sistemas. Sin embargo, ambos funcionan saturando los
servidores con una gran cantidad de trfico.
D. Http Flood

2
Es importante saber que un ataque de inundacin de HTTP
trabaja al nivel de la capa de aplicacin, estos pueden ser
silenciosos y pequeos, sobre todo si se los compara con los
ataques de la capa de red, pero tambin son igual de
peligrosos. Por ejemplo: Un servidor Amazon soportar
fcilmente entre 100.000 y 200.000 paquetes por segundo en
un ataque de SYN. Pero el mismo servidor no podr soportar
500 peticiones HTTP por segundo sin caer.
Esto se debe a que una solicitud HTTP es muy sencilla de
generarse del lado del cliente, mientras que para el servidor
puede llegar a ser una odisea ejecutar gran cantidad de
solicitudes internas para crear la pgina web.
La categora de ataque HTTP en la que se centra este
trabajo es la ms bsica y consiste solamente en solicitudes
comunes y simples de acceso a la misma pgina web repetidas
veces.
Estos ataques son especialmente peligrosos para las
aplicaciones web dado que inducen al servidor a realizar una
gran cantidad de trabajo para manejar cada solicitud,
consumiendo recursos de CPU y memoria [2].
4.

DESARROLLO DEL EXPERIMENTO

A. Herramientas utilizadas
1) Sistema de Virtualizacin
Como plataforma de virtualizacin se utiliz
Oracle VM Virtualbox [8] sobre Windows 8.1,
con el objetivo de configurar varias mquinas
virtuales interconectadas entre s, implementando
un ambiente virtual de red (VNE).
2) Firewall
Como Firewall se us ClearOS[9], que es una
distribucin basada en RedHat, cuyo objetivo es
disponer de un cortafuego que permita establecer
seguridad en zonas de confianza como la LAN.
ClearOS permite proteger una red de accesos
ilcitos, redirigir paquetes hacia mquinas de la
red interna, otorgar accesos solo desde sitios
conocidos, etc.; las conexiones SSH y HTTP
fueron habilitadas para permitir la administracin
de este desde una interfaz Web, adems de los
puertos FTP y SFTP para facilitar la
transferencia de documentos desde y hacia
mquinas confiables.
3) Sistema de Deteccin de Intrusos (IDS)
En nuestro caso, no hemos usado un IDS en el
sentido estricto de la palabra, sino que hemos
implementado un script basado en un programa
en python[11] que corre de manera automtica
en el crontab, el cual detecta un trfico anormal
en la interfaz de red, y detecta las IPs desde
donde se genera el trfico anormal.
4) Web Server
Como servidor Web se utiliz Apache2[10] sobre
una instalacin minimal de CentOS, con el
objetivo de proveer un servicio simple y rpido a

las computadoras clientes que quisieran acceder


al sitio.
5) Herramientas para la inyeccin de paquetes
HTTP
Como herramienta para la generacin y envo de
paquetes HTTP, se us la herramienta
Anonymous Doser[3] sobre distribuciones de
Windows iguales o superiores a Windows 7. Para
realizar el ataque, el antivirus de las
computadoras atacantes debe estar descativado,
ya que los antivirus reconocen el programa como
un malware o un troyano, y lo eliminan o
impiden su ejecucin. El firewall propio de
Windows no supone ningn conflicto. Cabe
recalcar que la herramienta enva los dos tipos de
paquetes HTTP: GET y POST. Inicialmente
enva paquetes GET para obtener datos de la
pgina, una vez reconocida enva paquetes
POST, los cuales son mucho ms pesados y
permiten que la denegacin de servicio se haga
de manera mucho ms rpida.
6) Captura de trfico
Para la captura de trfico se utilizaron variedad
de mtodos, entre ellos el anlisis manual del
trfico entrante hacia la aplicacin mediante el
anlisis de los logs.

Fig. 1. Comando para capturar datos de peticiones de conexin

Fig. 2. Comando sar para el consumo de CPU

Fig. 3. Sar para el consumo de memoria

Tambin se us para el anlisis de consumo de


memoria y CPU el paquete sysstat.
Adems se captur el trfico que pasaba por la
interfaz de red de la computadora CentOS con
Tcpdump[12], obteniendo resultados an ms
visibles del aumento exponencial del trfico
cuando se realizaba el ataque sin mitigacin
mediante
anlisis
de
resultados
con
Wireshark[13].
B. Diseo de la topologa experimental
La generacin de ataques de Denegacin de Servicios
Distribuidos, DDoS, usando HTTP Flood, y su
mecanismo de mitigacin requirieron de la creacin de
una infraestructura de red mnima, intentando emular una
red en produccin, por lo cual se implement un
enrutador que posibilit la salida a Internet, un
computador con CentOS 6.7 de instalacin minimal y un
equipo anfitrin de Virtualizacin con el que creamos los
diferentes del ambiente virtual, el mismo que se muestra
en la Fig. A.

herramienta de denegacin en dos computadoras externas


a la computadora host y al ambiente virtual, desde las
cuales se puede acceder al servicio Web mediante la IP
pblica del firewall, es decir, acceden desde la WAN.
D. Configuracin de Firewall
Para la conexin de las redes que se pueden observar en la
topologa, se requiri la configuracin del reenvo de
puertos que permitieron redirigir los paquetes de LAN a
la WAN y viceversa, para lo cual el firewall ClearOS
provee de una. Para la publicacin del servicio Web se
requiri crear una regla de traduccin de direcciones de
red (NAT, Network Address Translation) dentro del
firewall, la cual permiti redirigir los paquetes de la WAN
a la LAN, habilitando el acceso al servicio desde la red
interna y red externa. Adems, implement un script que
se ejecuta concurrentemente desde el crontab y que
analiza continuamente la interfaz de red eth2, que tiene
conexin a la red interna en las configuraciones de la
mquina virtual, y cuando se detecta un trfico anormal,
se detecta la IP de origen y se la bloquea. La mquina
ClearOS posee dos interfaces de red: la eth4 que es de
acceso a la WAN, la misma que obtiene su direccin IP
mediante DHCP del ISP; la eth5 provee de internet a la
red interna, y su direccin IP fue configurada
estticamente. Esta ltima interfaz tambin fue
configurada para proveer de IPs mediante DHCP a las
mquinas de la LAN, es decir administra la LAN.
E. Generacin de ataques
Para la realizacin de los ataques de HTTP se utiliz la
herramienta Anonymous DoSer, de cdigo libre y autor
desconocido.

Fig. 4. Topologa experimental

C. Implementacin de la plataforma experimental


Las pruebas se ejecutaron en el equipo anfitrin Oracle
VM Virtualbox, bajo Windows 8.1, con procesador
Corei5, memoria 12Gb y almacenamiento 500 Gb. En las
mquinas virtuales se instal ClearOS (RedHat) como
firewall, CentOS 6.7 como Web Server, Windows XP y
Windows 8.1 como estaciones de trabajo. Se han seguido
los siguientes pasos para implementar el diseo propuesto
en la topologa de red: i) En primer lugar se ha levantado
la mquina con el servidor Web, con una nica interfaz de
red, la cual se conectar al firewall; ii) Se ha levantado la
segunda mquina virtual, ClearOS, la cual actuar de
firewall con dos interfaces de red: la primera externa, que
obtendr una direccin IP de ISP y de acceso a la WAN, y
la segunda que proveer de servicios a la LAN; iii) Se ha
implementado una computadora externa a la LAN, desde
la cual se realizar uno de los ataques de denegacin de
servicio, para lo cual se instal en la mquina virtual el
programa Anonymous DoSer iv) Despus se instal la

Para utilizar esta herramienta es necesario ingresar en la


aplicacin la IP de la mquina vctima (Servidor Web), y el
tiempo durante el cual se realizara el ataque.

Fig. 5. Configuracin de la herramienta. Para el ataque se usan


varias consolas.

La principal caracterstica de este ataque es la saturacin de


los recursos del servidor al nivel de la capa de aplicacin
exigiendo el uso de mayor cantidad de recursos para responder

4
a las mltiples solicitudes.
El mecanismo usado por la aplicacin es, despus de
establecer conexin con el servidor mediante paquetes TCP,
empieza a enviar paquetes GET al servidor hasta obtener los
suficientes datos de la pgina como para enviar paquetes
POST, que envan mayor cantidad de datos, son ms pesados y
por lo mismo congestionan el servidor en menos tiempo que si
solo enviaran paquetes GET. Se puede observar en la Figura B
una recuperacin del trfico generado por la aplicacin:

F. Mitigacin del Ataque


Para el presente ataque, hemos implementado dos
mitigaciones diferentes: i) En el archivo de configuracin del
servidor, se pude configurar para que acepte un mximo de
conexiones, y que las conexiones que tiene las mantenga por
un tiempo limitado, de preferencia lo ms corto posible sin
afectar la calidad del servicio provedo a clientes normales.
ii) Se desarroll un script que se ejecuta de manera
concurrente en el crontab, el cual mediante un programa de
Python obtiene las IPs de los atacantes, pero solo las captura
en caso de detectar un trfico anormalmente alto; las IPs
utiliza para aadir dinmicamente reglas al firewall en el
momento del ataque. La regla que se aade al firewall es para
bloquear automticamente toda actividad proveniente de esa
IP.

Fig. 6. Contenido del archivo datos.txt, con la recuperacin de los


paquetes que arriban por la interfaz eth2.

Una vez que el servidor est saturado, la aplicacin notifica al


atacante que el servicio est abajo.
Fig. 9. Script para capturar las IPs

Fig. 10. Para filtrar IPs

Fig. 11. Ejecucin del script sobre el archive de access.log


Fig. 7. Aplicacin cuando notifica al atacante que el servidor est
cado.

Despus que la aplicacin pasa a este estado, podremos


intentar entrar a la pgina web, y comprobar que el servidor
est cado.

Fig. 12. Archivo con IPs

Fig. 13. Archivo de IPs vlidas

Fig. 14. Archivo de IPs vlidas

Fig. 8. Pgina cada.

Fig. 15. Script que bloquea las Ips que generan los ataques

Fig. 18. Datos TCP por segundo a los largo del tiempo

5.1.2. Consumo de CPU


Antes de la mitigacin

CONSUMO DE CPU

Fig. 16. Ejecucion del sript

5.

RESULTADOS

5.1. Anlisis de los resultados


5.1.1. Paquetes recibidos y enviados por segundo en
la Interface eth2

Eth2

%user

%nice

%system

%iowait

%steal

%idle

Fig. 19. Variacin del consumo de CPU a lo lardo del tiempo

Despus de la mitigacin

Uso del CPU


rxpck/s

txpck/s

Fig. 17.Paquetes recibidos y paquetes enviados por segundo en un


tiempo dado.
%user

%nice

%system

%iowait

%steal

%idle

Fig.20. Variacin del consumo de CPU a lo largo del tiempo despus


de la mitigacin

6
5.1.3. Consumo de Memoria
Despus de la mitigacin

%memused

Memoria Usada

kbbuffers

kbcached

kbcommit

Fig. 21. Cantidad de memoria utilizada a lo largo del ataque

%memused

Fig. 24. Porcentaje de memoria utilizada a lo largo del ataque antes


de la mitigacin

6.

El presente trabajo se centr en el anlisis y mitigacin de


ataques HTTP Flood.
Para mitigar una vulnerabilidad existen mltiples
maneras de hacerlo, simplemente se debe tener un
buen conocimiento de la vulnerabilidad, de los
tipos de ataque que se pueden hacer a travs de
ella, y de las herramientas que podemos usar.

Para un ataque de denegacin de servicio, lo ms


efectivo y definitivo es detectar y bloquear la IP
atacante, pero no se puede siemrpe hacer esto sin
una buena justificacin, ya que puede que se
confunda y se bloquee a algn cliente que, por el
tipo de transaccin que est realizando, requiera un
alto trfico.

Un ataque HTTP Flood se realiza mediante


paquetes diferentes a los UDP y TCP, ya que
necesitan que se haya establecido previamente una
conexin con el servidor para proceder con la
denegacin del servicio.

Fig. 22. Porcentaje de memoria utilizada a lo largo del ataque

Datos de memoria y CPU antes de la mitigacin

Uso de memoria

7.

kbbuffers

kbcached

kbcommit

CONCLUSIONES

TRABAJO FUTURO

Lo que se ha desarrollado en el presente trabajo se puede


seguir explotando, en el sentido de desarrollar un script
ms potente, ms dinmico, ms acorde a las necesidades
de cada empresa dependiendo de las reglas de su negocio.
REFERENCIAS

Fig. 23. Cantidad de memoria utilizada a lo largo del ataque antes


de la mitigacin

[1] Es.gizmodo.com, (2016). [online] Available at:


http://es.gizmodo.com/asi-se-ve-un-ataque-ddos-entiempo-real-482581412 [Accessed 10 Feb. 2016].USA
[2] Cid, D. (2015). Analizando Ataques DDoS Populares de
Capa 7 | Sucuri Espaol. [online] Sucuri Espaol.
Available
at:
https://blog.sucuri.net/espanol/2015/09/03/analizandoataques-ddos-populares-de-capa-7.html [Accessed 10

[3]

[4]
[5]
[6]

[7]

Feb. 2016].W.-K. Chen, Linear Networks and Systems.


Belmont, CA: Wadsworth, 1993, pp. 123135.
A. DoSer, "Hacking Tools: Anonymous DoSer",
Anonhacktivism.blogspot.com, 2016. [Online]. Available:
http://anonhacktivism.blogspot.com/2013/06/dos-tools12.html. [Accessed: 10- Feb- 2016].
RedesZone, "Configuracin del firewall en Linux con
IPtables", 2016.
[Online].
Available:
http://www.redeszone.net/gnulinux/iptables-configuracion-del-firewall-en-linux-coniptables/. [Accessed: 11- Feb- 2016].
SearchDataCenter en Espaol, "Qu es Virtualizacin? Definicin en WhatIs.com", 2016. [Online]. Available:
http://searchdatacenter.techtarget.com/es/definicion/Virtua
lizacion. [Accessed: 11- Feb- 2016].
B. A. Halberg (2007), Fundamentos de Redes (4ta.
Edicin) [Online]. McGraw Hill Available at:
http://cetis147.edu.mx/moodle3/pluginfile.php/89/mod_fo
lder/content/0/Fundamentos%20de%20Redes.pdf?
forcedownload=1

[8] Oracle VM Virtualbox: https://www.virtualbox.org/,


ltima comprobacin, febrero 2016.
[9] ClearOS:
https://www.clearos.com/clearfoundation/software/clearos
-7-community/, ltima comprobacin, febrero 2016.

[10] Apache2: https://httpd.apache.org/download.cgi/, ltima


comprobacin, febrero 2016.
[11] R. Galli, Protgete de los bots agresivos (16-03-2008)
[Online],
Available
at:
https://gallir.wordpress.com/2008/03/16/protegete-de-losbots-agresivos/ [Accesed: 10 Feb, 2016]
[12] Tcpdump:
http://www.tcpdump.org/,
ltima
comprobacin, febrero 2016.
[13] Wireshark:
https://www.wireshark.org/download.html,
ltima comprobacin, febrero 2016.

Potrebbero piacerti anche