Você está na página 1de 18

Simulação de ataquete DDoS Em Ambiente De Redes De

Computadores
Seguranção de Redes de Computadores
Nathalie de Souza Martins1, Roberto Rocha2

1Universidade Tecnologia Federal do Parana (UTFPR)


Caixa Postal 15.064 – 91.501-970 – Santa Helena – PR – Brazil2
Curso de Ciencias da Computação,Brasil.3
Departament of Computer Science
Federal University of Technology of Parana (UTFPR) – Santa Helena, PR – Brazil´
nathalie@utfpr.udu.br, beto.brava86@gmail.com

Abstract. In a technological and super connected world, it is faced with great


digital vulnerabilities, such as attacks on large websites or servers, with the objective of
obstructing packages or bringing down services. This work presents a simulation in a
network environment and an attack on a Linux server, as well as demonstrates the
management and analysis of the network throughout the course, before, during and after
the attack. The work also proposes a solution to avoid simulated attacks in this
environment with the objective of creating rules that prevent packet loss or services from
being brought down.

Resumo. Em mundo tecnológico e super conectado depara-se com grandes


vulnerabilidades digitais, como os ataques a grandes sites ou servidores, com objetivo
de obstruir pacotes ou derrubar serviços. Este trabalho apresenta uma simulação em um
ambiente de redes e ataque a um servidor Linux, bem como demonstrar o gerenciamento
e análise de rede durante todo o percurso, antes, durante e após o ataque. O trabalho
também propõe uma solução para evitar os ataques simulados neste ambiente com
objetivo de criar regras que evitem perda de pacotes ou que serviços sejam derrubados.

1. INTRODUÇÃO
O presente trabalho tem como objetivo analisar um ambiente reconfigurado do
livro Laboratório de IPv6 - conteúdo Oficial NIC.BR pelo professor Euclides Peres Farias
Junior, sendo este ambiente configurado com as redes IPV4 e IPV6. Neste cenário, foi
construído um servidor NGINX para reportar serviços web nas requisições HTTP na porta
80, sendo simulado um ataque DoS/DDoS e coletado informações de comportamento de
rede por ferramentas como iperf, scp, wget, wireshark, iptraf e speedometer. Neste
trabalho também apresenta-se uma solução para evitar ataques desta característica
baseado na tabela de regras da IPTABLES.
2. GERENCIAMENTO DE REDES
2.1 IPTABLES
Para que fosse possível ser feito a análise de rede, foi instalado a ferramenta
IPTABLES, que basicamente é programa escrito em C, que configura regras para o
protocolo de internet IPv4 na tabela de filtragem de pacotes, utilizando os módulos e
framework do kernel Linux.
Na imagem abaixo temos o comando de instalação do IPTABLES, realizado
com sucesso.

Figura 1: Instalação do IPTABLES.


Após a instalação, conseguimos fazer a análise do ambiente pré-configurado
disponibilizado pelo professor Euclides. Em primeira instância foram analisadas as
configurações de redes do servidor e posteriormente dos host conectados nesta redes. No
terminal de um dos host, executamos o seguinte comando iptables -L, neste comando
temos a tabela de configuração de redes deste host.

Figura 2: Tabela de configuração de rede do Host 2.


Os mesmos testes foram repetidos no servidor e obtivemos o seguinte
resultado.
Figura 3: Tabela de configuração de rede do servidor.

Para fim de teste foram testados diversas ferramentas de análise a rede foi a
TCPDUMP, também foi necessário a sua instalação, com a permissão de superusuários,
após a realizar o procedimento de instalação pode-se explorar a ferramenta, como analisar
os pacotes de um determinado dispositivo.
Na figura abaixo temos o comando de instalação da ferramenta TCPDUMP.

Figura 4: Instalação da ferramenta tcpdump.


Através do comando $ sudo tcpdump -D, pode-se observar uma lista de
dispositivos ativos que podem ser explorados, como a interface eth0, que corresponde a
placa de rede do dispositivo. Na figura 5 demonstra a execução da lista de interface de
dispositivos.

Figura 5: Lista de dispositivos de interface.

Neste momento temos conhecimento de todos os dispositivos existentes através


da análise do comando anterior, como o comando $ sudo tcpdump -i <interface>,
captura qualquer pacote que esteja envolvido com o destino ou origem dos pacotes.Na
imagem abaixo obteve-se o seguinte resultado que seria o resultado tráfego da interface
do servidor NGINX antes do ataque.
Figura 6:Tráfego da interface eth0.

2.2 IPERF
A ferramenta Iperf também foi testada neste ambiente, que é um software livre,
do tipo client/server desenvolvido pelo National Laboratory for Applied Network
Research (NLANR). Com ele podemos testar/medir o throughput da rede, e é claro,
também pode usá-lo como ferramenta de apoio para teste de comportamento de rede sua
instalação é feita pelo comando $ sudo apt-get iperf. Na imagem abaixo temos a execução
do comando $ iperf -s, Este comando fará o iperf ser executado como server e ele passará
a aguardar as conexões do client.

Figura 7:Comando de execução server/client no servidor.

2.3 SCP (Secure Copy)


O comando Baseado em Berkeley Software Distribution (BSD) Remote Copy
Protocol, o SCP (Secure Copy) é um protocolo de rede para transferências de
arquivos.Com ele, você pode transferir arquivos de forma fácil e segura entre um local
remoto e um host ou entre dois locais remotos.
Como os demais comandos também é necessário realizar a instalação através
do comando $ sudo apt-get install scp demonstrados na imagem abaixo figura 8.

Figura 8: Comando de instalação do spc.

Para analisar a transferências de dados ou arquivos entre as máquinas e host do


simulador core network utiliza-se o comando $ -scp
usuario@servidor:directorio_servidor directorio_local.
2.4 WGET
O wget é a melhor opção para fazer download de arquivos, quase sempre, em
função de sua flexibilidade e agilidade, com este comando conseguimos observar a
velocidade de downloads, espelhos de sites e combinar opções de deste comando, na
imagem abaixo temos o teste do comando para realizar o downloads da ferramenta do
kernel do linux, podemos observar o tamanho do arquivo, o nome e sua extensão.

Figura 9: Comportamento de pacotes com wget em um teste de downloads.


2.5 IPTRAF
A ferramenta IPTRAF é muito usada no ambiente Linux para
gerenciamento de redes, que fornece muitas informações enriquecedoras para um
administrador em uma só ferramenta. Após a sua instalação, com o comando $iptraf entra
no menu inicial, apresentado na figura 10.
Figura 10: ferramenta iptraf.
Esta ferramenta apresenta algumas opções para usuário, como a primeira
opção, monitora as conexões de todas as interfaces. Na segunda opção monitora as
conexões de todas as interfaces. Na terceira opção realiza a comparação de tráfego entre
as interfaces das redes. Na quarta opção detalha a performance de cada interface. E na
quinta opção, compara por porta o tráfego.
Para analisar o tráfego de rede antes do ataque deste projeto, é feita a análise
na figura 11 logo abaixo. Sendo reparado que não há nenhuma entrada de pacotes TCP
ainda na rede.

Figura 11: ferramenta iptraf com a análise antes do ataque.

2.6 Wireshark
A ferramenta Wireshark para gerência de redes em tempo real. Ela pode
ser instalada tanto no linux como no windows. Se utiliza da interface da rede do
computador para capturar echos de ping do tráfego de todos protocolos usados na rede.
Ou seja, é um analisador de protocolos para identificar problemas na rede, saber fontes
de ataques DoS, encontrar programas mal-intencionados e estudar em como uma rede
funciona.Neste projeto como pode ser observado na figura 12 é analisado todos os pacotes
de protocolos em Ipv4 e ipv6.

Figura 12: wireshark antes do ataque


3.SIMULAÇÃO DE UM ATAQUE DoS/DDoS
O ataque DDoS é feito com a ferramenta T50 (ferramenta para ataque DDoS),
e NGINX (servidor web). Por ser no ambiente fornecido pelo professor, onde é construído
um cenário com um servidor NGINX para reportar serviços web nas requisições HTTP
na porta 80.
Na configuração do serviços NGINX, no terminal como usuário root, é feito o
comando “vi /etc/nginx/sites-available/default”. Ao abrir o editor do VI, é necessário
descomentar as linhas 21 e 22, onde lista a porta 80 do ipv4 e ipv6. Ao editar é salvo e
deve sair do editor. Para levantar o servidor, ainda como root é feito o comando $
/etc/init.d/nginx restart como é mostrado na figura 13. Após, verificar se o servidor está
no ar com o comando $ netstat -antup, como na figura 9. Desta forma, para testar a
conexão com a web, é feito com os comandos $ wget http://192.0.2.10/ e $ wget
http://[2001:db8::10]/. Na figura 13, é demonstrado que a conexão com o endereço do
servidor está conectado com mais algumas informações.

Figura 13: levantar o servidor.


Figura 14: verifica o servidor.

Figura 15: Teste de conexão.


Para a instalação e configuração da ferramenta T50, é feito o download do
arquivo -xvzf t50-5.4.1.tar.gz. Depois entrar no simulador core network, e descompactar
o arquivo na pasta através do comando tar -xvzf t50-5.4.1.tar.gz. Depois, entrar no
diretório cd t50-5.4.1 e digitar o comando $ make –w Makefile, a partir deste comando é
criado um arquivo para a execução da ferramenta, onde é nomeado de t50.
No passo para fazer o ataque DDoS, primeiro em um outro dispositivo é
executado um outro terminal para fazer tal ataque. Com o comando $ ./t50 192.0.2.10 --
flood -S --turbo --dport 80, é executado, onde inicia um ataque DoS no servidor, sendo
a partir do PC n2Client-10 com ip 192.0.2.25, conforme a figura 16 mostra. Após este
ataque é necessário fazer múltiplos ataques simultâneos com o mesmo comando, com
todos os dispositivos, ou seja, a partir de todos os hosts que tem no ambiente para o
servidor, para poder fazer um ataque DDoS.
Figura 16: ataque DoS.
No aplicativo do core, possui uma ferramenta que pode selecionar os hosts
que deseja atacar para facilitar tal simulação. Nesta ferramenta é feito com o comando $
/home/ipv6br/t50-5.4.1/./t50 192.0.2.10 --flood -S --turbo --dport 80 para chegar
realizar o ataque DDoS com todos os host sendo selecionado como é visto na figura 14.
Foram selecionados 23 hosts para fazer o ataque. Mas com todos estes hosts com o ataque
simultâneo, mesmo assim não foi possível derrubar o servidor.

Figura 17: ataque DDoS.

4. COMPORTAMENTO DA REDE EM ATAQUE


Após feito o ataque foram utilizadas algumas ferramentas para análise de
comportamento da rede durante o procedimento, como observado na seção anterior que
relata todas as fases de como o ataque foi aplicado no ambiente, foi observado que no
ataque DDoS o serviço não chega a cair, conseguimos o resultado que de o ataque foi
realizado com sucesso através do próprio ambiente.
Na ferramenta Wireshark, que é um programa que analisa o tráfego de rede, e
o organiza por protocolos. A rede apresentou o seguinte comportamento com o resultado
representado na figura 18.
Figura 18: Análise de rede no ambiente Wireshark.
Nesta etapa pode-se observar que a rede se comporta de uma forma um pouco
diferente por conta dos ataques, percebendo algumas perdas de pacotes na rede. Também
foi testado o comando da ferramenta tcpdump e obteve-se o seguinte resultado
representado na figura 19.

Figura 19: Análise de rede no ambiente tcpdump.


Na ferramenta IPTRAF, que também é uma ferramenta de monitoramento de
rede e internet em tempo real, a figura 20 representa uma tela que exibe estatísticas
globais do tráfego das interfaces de rede. Como pode ser observado, a quantidade de
entradas de pacotes TCP em pouco tempo ocorreu durante o ataque.

Figura 20: Análise de tráfego de rede.


Na mesma ferramenta consegue-se ter análise também dos problemas da
conexão que estão sendo aplicados e o tipo de protocolo utilizado representado na figura
21.

Figura 21: Análise de protocolos da rede.


Para finalidade de teste de comportamento da rede foi testado um outro método
de ataque DDoS que pode ser feito com o ping da morte. Desta forma, o ping tem o
objetivo de testar a conectividade no nível do IP, pelo ping é enviado solicitações de
ICMP para um host de destino para verificar se a máquina está conectada com a rede e
recursos de rede TCP/IP. Por padrão é enviado pacotes de 32 bytes de dados. Com o ping
da morte é enviado 65500 bytes e numa frequência alta com milhares de vezes por
segundo. Desta forma, com o comando $ ping -i 1-l 65500 192.0.2.10 -t, como é visto
na figura 13, é feito no host n2Client-04 onde é direcionado o ataque no servidor. Mas
ainda não derruba o servidor, assim causando somente um estresse na rede.

Figura 22: ataque DDoS, ping da morte.

Figura 23: análise no wireshark do ping da morte.


Como na análise mostrada na figura 16, pode-se notar que estão sendo enviados
vários pacotes de protocolo ICMP, sem perda de pacote. Além do teste feito da figura 15,
é feito outros testes com um aumento de largura do pacote. De acordo com os testes, foi
chegado num valor de 1000 (1008) bytes sem perda de pacote, com outros testes acima
de 1000 há perda, e analisando no wireshark como desfragmentado alguns pacotes. Na
figura 17 é mostrado com um terminal o ping da morte com uma largura maior de pacote,
com uma análise do wireshark na figura 24.

Figura 24: ping da morte com aumento no pacote.

Figura 25: ping da morte, análise do wireshark.

5. MECANISMO DE DEFESA
Para criar um mecanismo para a defesa de ataques DDoS, tem uma forma
com aplicativos de terceiros, firewalls, e uma outra forma que é configurando a parte
interna pelo próprio equipamento. Neste trabalho é feito uma configuração com a
ferramenta iptables, por ser uma ferramenta para construção de regras para filtrar tráfegos
na rede, conforme já explicado anteriormente neste trabalho.
Na iptables é criado uma regra para defender do ataque DDoS com o comando
$ iptables -t filter -A INPUT -p tcp -m limit --limit 2/s -j ACCEPT. e $ iptables -t
filter -A INPUT -j DROP. Para explicar tal comando, ele acontece com uma estrutura
composta por três tipos de comandos, são as Tabelas, que é ser usada, e neste comando
é usado o filter. Os Chains, que são opções para fazer as ações do comando, sendo neste
comando usado o INPUT. E as Rules, que seria os comandos para manipular o tráfego
da rede, sendo neste comando o tcp como protocolo, impondo um limite de 2 segundos e
no fim um componente de aceitação. Depois o outro comando para fazer a regra finalizar.
Ou seja, esta regra criada limita o atendimento de requisições de conexões a 2 por
segundo. Desta forma diminuindo o tráfego da rede mais de 50%.
Para visualizar tal regra aplicada, é feito o comando $ iptables -L,
demonstrando a tabela de todas as regras existentes. Como mostra a figura 20.

Figura 27: tabela de regras.

Na mesma tabela na figura 18 é mostrada outra regra feita como extra para
defender do ping da morte. Tal regra limita em uma vez por segundo a passagem de pings
para a máquina. Sendo feita com o comando $ iptables -A INPUT -p icmp --icmp-type
echo-request -m limit --limit 1/s -j ACCEPT e $ iptables -A INPUT -p icmp --icmp-
type request -j DROP.
Para ter uma visualização mais clara de entender a diferença do antes,
durante e depois do ataque é usado a ferramenta speedometer. Foi usada pelo motivo de
ser simples, gerando bons gráficos em tempo real, e fáceis de ver a diferença de entrada
e saída de uma determinada interface do tráfego de rede. Para visualizar tal diferença,
pode-se observar na figura 21, antes do ataque nem tinha tráfego na rede. Depois de ser
feito o ataque DDoS conforme no item 3 deste trabalho, onde explica o ataque, na figura
28 observa se que durante o evento teve um pico de quase um Mb/s.
Figura 28: análise do tráfego da rede antes do ataque DDoS.

Figura 29: análise do tráfego da rede durante o ataque DDoS.


Figura 30: análise do tráfego da rede depois da regra para o ataque DDoS.

Para finalizar, depois da configuração no iptables para a defesa do ataque


DDoS, há uma grande diferença de tráfego passando na rede conforme a figura 30 mostra.
Se observa muito claramente o declínio do tráfego na rede analisando as três figuras
mostradas pelo speedometer.

6. RELATOS DE PROBLEMAS
Em primeira instância depara-se com problemas ao instalar as ferramentas, na
máquina virtual do core.br acontece erros nas ferramentas necessárias para o trabalho. O
erro acusa que não pode buscar alguns arquivos, recomenda-se executar o “apt-get
update”, que acontece no arquivo “/etc/apt/source.list”. Neste processo, foi perdido
muito tempo para tentar resolver, e com um modo somente achado que foi resolvido o
erro. Primeiro pediu para instalar o $ updete-manager-core, se não tinha instalado no
sistema. Depois os comandos $ /etc/update-manager-core/realease-upgrades, e $ do-
release-upgrade. Desta forma foi possível o uso de apt-get para a instalação das
ferramentas necessárias para o projeto solicitado.
Uma das dificuldades encontradas durante o trabalho , foi encontrar um
método para realizar o ataque DDoS, ou seja, que o procedimento de atacar o servidor a
partir de vários hosts de uma única vez. Mas com o comando correto, em uma ajuda da
ferramenta Run Tool que o ambiente core possui facilitou o ataque DDoS propriamente
dito.
Para realizar a defesa do ataque DDoS, foram utilizados vários exemplos
básicos retirados da literatura e da internet, por seu um ataque popular em ambiente de
simulações a uma grande cama de informações que facilitaram o desenvolvimento desta
etapa do trabalho. A dificuldade maior seria o pouco conhecimento de nas ferramentas
utilizadas em redes no ambiente linux.
7. FLUXOGRAMA DA SIMULAÇÃO
Na figura 31 foi elaborado um fluxograma de todas as rotinas elaboradas
durante o trabalho desde a sua instalação, testes, mecanismo de defesa e documentação.

Figura 31: Fluxograma de funcionamento do projeto.

8. FERRAMENTAS UTILIZADAS
As ferramentas utilizadas neste trabalho foram o ambiente Core Network
configurado em uma Máquina Virtual, com o ambiente reconfigurado pelo professor, para
analisar a rede antes do ataque foram utilizadas as ferramentas iperf, scp, wget relatando
o tráfego da rede. Para o ataque DDoS, foi utilizado a ferramenta T50. Para análise antes,
durante e após foram utilizadas as seguintes TCPDUMP, WIRESHARK, IPTRAF que
são ferramentas de análise de tráfego de rede e a ferramenta gráfica speedometer que
monitora o gráfico.
Os teste foram realizados em duas máquinas diferentes, sendo elas: Notebook
Portátil da Samsung dá seguintes configurações: Processador Intel(R) Core(TM) i3-
5005U CPU @ 2.00GHz 2.00 GHz, com 12,0 GB de memória RAM e um HD de 1
Terabyte. A segunda máquina que também foram realizados os teste foi Notebook Portátil
:Processador Intel(R) Core(TM) i3-7005U CPU @ 2.00GHz 2.00 GHz, com 8,0 GB de
memória RAM e um HD de 1 Terabyte.

9. CONCLUSÃO
A simulação do ambiente de redes reconfigurado pelo professor, foi testado e
analisado com sucesso, apesar de alguns erros de instalação de algumas ferramentas de
testes, foi possível ver o comportamento da rede antes do ataque, durante e após.
Identificamos perdas de pacotes na rede quando o ambiente está sendo atacado, outro
detalhe importante que foi observado é que o ambiente apresenta sinais que está sendo
atacado porém o serviço continua sendo executado normalmente, desta forma
conseguimos concluir que a quantidade de host que utilizamos poderia não ser suficiente
para derrubar o sistema, testamos outro método também para analisar o comportamento
da rede sobre o ataque do ping da morte, apesar do método ser diferente, o serviço ainda
continua sendo executado como demonstrado nos gráficos das seções anteriores,
apresentando perda de pacotes somente com testes acima de 1000 bytes, a partir deste
momento pode-se observar desfragmentação dos pacotes.
Neste mesmo ambiente também foi desenvolvido uma técnica de defesa para
que estes ataques sejam evitados utilizando uma tabela de regras pela ferramenta iptables
que defende tanto ataque recomendado pelo professor, quanto o ataque do ping da morte,
com uma regra extra de defesa.

REFERENCIAS
Boulic, R. and Renault, O. (1991). 3d hierarchies for animation. In Magnenat-
Thalmann, N. and Thalmann, D., editors, New Trends in Animation and Visualization.
John Wiley & Sons ltd.

Knuth, D. E. (1984). The TEX Book. Addison-Wesley, 15th edition.


Smith, A. and Jones, B. (1999). On the complexity of computing. In Smith-
Jones, A. B., editor, Advances in Computer Science, pages 555–566. Publishing Press.

Você também pode gostar