CERT.br

Ir para o conteúdo

Núcleo de Informação e Coordenação do Ponto BR

Recomendações para Melhorar o Cenário de Ataques Distribuídos de Negação de Serviço (DDoS)

Autor: CERT.br
Versão: 1.0 — 19/04/2016

Sumário

1. Introdução

Negação de serviço, ou DoS (Denial of Service), é uma técnica pela qual um atacante utiliza um equipamento conectado à rede para tirar de operação um serviço, um computador ou uma rede conectada à Internet. Quando usada de forma coordenada e distribuída, ou seja, quando um conjunto de equipamentos é utilizado no ataque, recebe o nome de Ataque Distribuído de Negação de Serviço (DDoS - Distributed Denial of Service).

Um ataque DDoS não tem o objetivo direto de invadir e nem de coletar informações, mas sim de exaurir recursos e causar indisponibilidade ao alvo. Os usuários desses recursos são diretamente afetados e ficam impossibilitados de acessar ou realizar as operações desejadas, já que o alvo do ataque não consegue diferenciar os acessos legítimos dos maliciosos e fica sobrecarregado ao tentar tratar todas as requisições recebidas.

Os ataques DDoS têm sido um dos grandes problemas enfrentados pelas organizações e usuários de Internet. Apesar de não ser possível impedir que eles ocorram, com um planejamento adequado, é possível torná-los menos eficazes e danosos.

Este documento visa reunir boas práticas de segurança que devem ser seguidas pelos diversos setores que formam a Internet para tentar reduzir os ataques DDoS e minimizar os problemas por eles causados.

As soluções apresentadas são alternativas a serem consideradas para o tratamento dos ataques e não representam uma lista exaustiva de possibilidades, já que novas soluções podem surgir. Além disso, não faz parte do escopo do documento detalhar tecnicamente as soluções citadas, mas sim, que elas possam servir como referência para o leitor.


2. Principais alvos e motivações dos ataques DDoS

Qualquer rede, equipamento ou sistema acessível pela Internet pode vir a ser alvo de um ataque DDoS e, da mesma forma, também pode gerar um ataque, caso esteja infectado, mal-configurado ou invadido. Já foram observados alvos de diversos setores, como provedores, jogos, notícias, bancos, comércio eletrônico, governo, indústria e partidos políticos.

O alvo dos ataques pode vir a enfrentar problemas como indisponibilidade de acesso a serviços e recursos legítimos, danos à imagem, perdas financeiras, perda de credibilidade e dificuldade em continuar seus negócios. Os ataques também costumam gerar efeitos colaterais, como excesso de logs, problemas com backups automatizados, aumento de custos pelo maior consumo de banda e, ainda, refletir em outras redes do mesmo provedor de acesso, armazenamento ou nuvem.

Assim como os setores alvo, as motivações dos atacantes também são das mais variadas e, muitas vezes, difíceis de ser determinadas. De forma geral elas podem ser divididas nos seguintes grupos:


3. Como são realizados os ataques DDoS

Devido à grande quantidade de ferramentas disponíveis na Internet, muitas delas gratuitas ou a preços cada vez mais acessíveis, é possível praticamente a qualquer um realizar um ataque DDoS. De forma geral os ataques ocorrem das seguintes formas:

Há também os casos não intencionais de negação de serviço que costumam ocorrer por falhas de dimensionamento das aplicações e problemas de escalabilidade de recursos, entre outros motivos. Esses casos não devem ser confundidos com ataques, pois o próprio uso normal dos sistemas pode levar à sobrecarga e à consequente lentidão ou indisponibilidade do serviço em questão.


4. Tipos de ataques DDoS

Não existe um tipo único de ataque DDoS e, infelizmente, não há uma solução única para tratar desse problema. Por isso, conhecer e entender os diferentes tipos de ataques é essencial para que as organizações possam planejar adequadamente as ações a serem tomadas.

Basicamente existem três tipos de ataques DDoS: ataques à camada de aplicação, ataques de exaustão de recursos de hardware e os ataques volumétricos. Eles podem ser realizados de forma isolada ou em conjunto. Um atacante pode, por exemplo, realizar um ataque apenas à camada de aplicação ou combiná-lo com um ataque volumétrico. Ataques combinados costumam ter mais impacto pois requerem o uso conjunto de diferentes formas de preparação, detecção, análise e mitigação.


4.1 Ataques à camada de aplicação

Os ataques à camada de aplicação costumam ser mais difíceis de ser detectados, pois podem ser confundidos com problemas de implementação da aplicação e não necessitam de muitas máquinas e nem de muito tráfego para ser realizados.

Ataques deste tipo procuram explorar as características específicas de uma aplicação ou serviço (camada 7), de tal maneira a:

Exemplos: HTTP GET, HTTP POST, VoIP (SIP INVITE Flood) e Slow Read DDoS.


4.2 Ataques de exaustão de recursos de hardware

Os ataques de exaustão de recursos de hardware tentam consumir a capacidade de equipamentos e exaurir seus recursos. Por exemplo:

Exemplos: fragmentação e TCP Syn Flood.


4.3 Ataques volumétricos

Os ataques volumétricos tentam exaurir a banda disponível enviando ao alvo grande volume de tráfego. Para conseguir gerar esse volume os atacantes utilizam meios como botnets, máquinas com bastante banda, máquinas com pouca banda porém em grande quantidade ou, ainda, exploram características específicas de serviços UDP que permitem a amplificação do tráfego.

O DRDoS (Distributed Reflective Denial of Service) é um exemplo de ataque volumétrico que:

Muitos dos protocolos usados nos ataques DRDoS fazem parte legítima da infraestrutura pública da Internet. Entretanto, em alguns equipamentos, como CPEs, eles são instalados por padrão e abusados por atacantes, muitas vezes, sem que os donos sequer saibam que estão provendo esses serviços.

Alguns protocolos abusados e o fator de amplificação que podem representar (US-CERT Alert TA14-017A) quando explorados são:

Um exemplo de funcionamento deste tipo de ataque, abusando de servidores DNS, é mostrado no documento Recomendações para Evitar o Abuso de Servidores DNS Recursivos Abertos. A Figura 1 exemplifica o ataque.

[Visão geral do ataque de negação de serviço utilizando
servidores DNS recursivos abertos.]

Figura 1: Visão geral do ataque de negação de serviço utilizando servidores DNS recursivos abertos.

  1. O atacante publica um registro muito grande, em geral TXT, em um servidor DNS sob seu controle (muitas vezes esse pode ser um servidor previamente comprometido pelo atacante).
  2. O atacante, de posse de uma lista de servidores DNS recursivos abertos, envia a estes servidores centenas ou milhares de consultas pelo registro publicado no passo 1, forjando o endereço IP da vítima, ou seja, colocando o endereço IP da vítima como endereço de origem da consulta (2a). Deste modo, o atacante faz com que as respostas sejam enviadas para a vítima e não para a máquina que fez as consultas. Na primeira consulta recebida por um servidor recursivo este vai buscar a resposta no servidor controlado pelo atacante (2b), nas demais consultas a resposta será enviada diretamente do cache do servidor recursivo aberto.
  3. A vítima recebe as respostas DNS, que costumam gerar uma amplificação de 28 até 54 vezes o tráfego inicial de consultas, pois para uma consulta média de aproximadamente 50 bytes podem ser retornados cerca de 2.700 bytes de resposta para a vítima.

5. Como evitar que suas redes e sistemas sejam abusados para gerar ataques DDoS

Os ataques DDoS se aproveitam da grande dependência e interligação entre as redes e sistemas na Internet. Boas práticas de segurança podem ser aplicadas para prevenir que redes e sistemas sejam abusados e gerem ataques, porém, sem uma preparação adequada, pouco pode ser feito para impedir que um ataque tenha sucesso.

Dessa forma, a segurança de cada uma das redes e sistemas depende diretamente da segurança dos demais. Para resolver o problema dos ataques DDoS é necessária uma ação conjunta dos diversos setores que formam a Internet. A seguir são descritas as ações que cada um deve executar para não gerar ataques DDoS.


5.1. Usuários finais

Alguns usuários participam dos ataques voluntariamente, disponibilizando suas máquinas por meio da instalação de ferramentas ou pelo acesso a sites específicos. Ao fazer isso acham que estão contribuindo para alguma causa que consideram importante. Essa visão pode ser explorada pelos atacantes para conseguir o apoio e a participação de um maior número de pessoas. Por isso é importante que esses usuários sejam alertados que, por trás dos ataques DDoS, nem sempre as motivações são tão dignas.

Ao contribuir voluntariamente para os ataques DDoS os usuários podem participar de ações criminosas e ser diretamente impactados pelos efeitos colaterais causados. Por exemplo, o aumento de uso de banda gerado pelos ataques pode ser convertido em aumento de gastos no provedor de conectividade que, para compensar o prejuízo, poderá cobrar mais nas mensalidades.

A maioria dos usuários, entretanto, participa dos ataques de forma involuntária, ao ter seus equipamentos (como computadores, dispositivos móveis e CPEs) infectados por bots ou invadidos e com ferramentas de DDoS neles instaladas. Por isso, devem ser conscientizados sobre a importância de manter seus equipamentos seguros.

Investir em conscientização de usuários também é uma medida essencial em organizações que permitem o uso de equipamentos pessoais dentro da rede corporativa. Sem uma política de segurança adequada, a organização pode vir a ser responsabilizada por ataques partindo de sua rede e gerados dos computadores e dispositivos móveis de seus usuários.

A proteção dos equipamentos dos usuários deve envolver tanto a aplicação de soluções técnicas como a adoção de uma postura preventiva. As soluções técnicas ajudam os usuários a se proteger das ameaças já conhecidas e para as quais já existem formas de prevenção, enquanto que a postura preventiva auxilia em outras ameaças, principalmente as que envolvem engenharia social.

As soluções técnicas envolvem:

A postura preventiva deve incluir cuidados como:

Mais dicas para usuários finais estão disponíveis na Cartilha de Segurança para Internet.


5.2 Desenvolvedores de aplicações Web

Servidores Web costumam ser máquinas bem conectadas e com grande capacidade de processamento e, por isso, são muito visados por atacantes que, ao invadi-los, instalam artefatos maliciosos, como ferramentas para disparar ataques DDoS.

Para garantir a segurança de um servidor Web é necessário, além de seguir as boas práticas de administração de máquinas descritas na seção 5.3, adotar alguns cuidados extras como:

Para manter um ambiente Web seguro é importante também garantir a segurança das aplicações, pois elas são uma das principais portas de entrada para o acesso indevido aos servidores Web.

Atualmente as aplicações Web estão cada vez mais complexas e com novos recursos integrados. Além disso, sofrem com o descuido dos usuários e administradores em elaborar boas senhas, com a grande quantidade de sistemas vulneráveis, com a pressão econômica para ser rapidamente lançadas (mesmo que com problemas) e com a falta de desenvolvedores Web capacitados em programação segura.

A segurança de uma aplicação Web necessita ser pensada em todas as fases, incluindo o projeto, o desenvolvimento, os testes, a entrada em produção, o acompanhamento diário de logs e a manutenção. Também deve estar presente em todas as partes que compõe a aplicação, como o framework onde foi desenvolvida, o sistema gerenciador de conteúdos (Content Management System – CMS) onde é executada e o SGBD que ela acessa.

Além disso, é importante destacar que o fato de uma aplicação estar em conformidade (compliance) com padrões e certificações não garante que ela esteja segura, pois novas vulnerabilidades podem surgir e para as quais ela ainda não foi testada. Por isso, os cuidados com a segurança devem ser uma tarefa cotidiana e um processo contínuo.

Algumas dicas para melhorar a segurança de aplicações Web são:

Mais dicas podem ser encontradas em Dicas para manter um ambiente Web seguro.


5.3 Administradores de redes

Administradores de redes podem ajudar a melhorar o cenário dos ataques DDoS implementando boas práticas que impeçam que a infraestrutura pela qual são responsáveis seja abusada para gerar ataques. Algumas boas práticas são:


5.4 Provedores de conectividade

Assim como os administradores de rede, os provedores de conectividade (ISP – Internet Service Provider) podem ajudar a reduzir os ataques DDoS implementando boas práticas que impeçam que as infraestruturas deles e de seus clientes sejam abusadas para gerar ataques. Para isso, é essencial o combate aos ataques do tipo DRDoS.

Os principais motivos dos ataques DRDoS serem tão potentes são o tráfego de endereços forjados (spoofados), o abuso de serviços que permitem a amplificação de tráfego e a grande quantidade de equipamentos de redes, como CPEs, instalados sem preocupações de segurança. Algumas boas práticas que podem ajudar a reverter esse cenário são:


6. Como tratar ataques DDoS

Toda organização, cedo ou tarde, pode vir a ser alvo de um ataque DDoS e, por isso, deve planejar com antecedência as ações, tanto técnicas como não técnicas, a serem tomadas quando o ataque ocorrer. O planejamento inclui as fases de preparação, detecção e análise, mitigação e pós-ataque, que são descritas detalhadamente a seguir.


6.1 Preparação

A preparação é a fase principal do planejamento pois representa a base para todas as subsequentes (detecção e análise, mitigação e pós-ataque). Além disso, como é a única a ocorrer antecipadamente, enquanto o ataque ainda não está acontecendo, pode ser feita de forma mais detalhada e cuidadosa.

Para uma preparação adequada é importante:

Conhecer a organização: quanto maior for a base de conhecimento sobre a missão da organização e sobre seus recursos, mais fácil será definir o que deve ser protegido e priorizar as ações a serem tomadas.

Conhecer o padrão de uso: a monitoração dos recursos permite identificar previamente o comportamento normal de uso e, assim, detectar rapidamente mudanças de padrão.

Diminuir as possibilidades de ataque: quanto menos expostos estiverem os serviços, sistemas e equipamentos, menores serão as chances deles serem atacados.

Proteger os recursos que podem ser atacados: serviços que são acessíveis pela Internet podem vir e ser atacados e, por isso, devem ser protegidos.

Preparar para absorver e filtrar o ataque: analisar a resiliência da rede e dos sistemas, ou seja, a capacidade deles de resistência, adaptação e recuperação frente a ataques DDoS.

Preparar para lidar com o ataque DDoS: ter pessoal preparado para atuar frente ao problema e políticas claras de comunicação.


6.2 Detecção e Análise

A detecção de ataques DDoS depende diretamente de quão preparada a organização está, ou seja, de quanto ela investiu em tempo e recursos na fase de preparação, pois pode ser bastante difícil perceber mudanças e anomalias naquilo que não está sendo monitorado.

A detecção e a análise envolvem os seguintes passos:

Descartar outras opções de problemas: é necessário ter cautela antes de sair considerando qualquer mudança comportamental como sendo um ataque DDoS, pois:

Tentar identificar o tipo de ataque: após concluir que realmente se trata de um ataque DDoS é necessário tentar entender as suas características e identificar qual o seu tipo, ou seja, se é volumétrico, de aplicação, de exaustão de recursos de hardware ou misto.

Obter mais detalhes sobre o ataque: após restringir as possibilidades é o momento de tentar levantar a maior quantidade possível de dados sobre o ataque.

Tentar determinar o impacto: procurar determinar o impacto do ataque dentro da organização.

Ficar atento a outros ataques: mesmo que o ataque já tenha encerrado é importante redobrar a atenção para novos ataques, tanto de DDoS como de outros tipos.


6.3 Mitigação

Após analisar e concluir que realmente se trata de um ataque DDoS é necessário manter a calma e seguir os procedimentos definidos na etapa de preparação.

A etapa de preparação é essencial para tornar a mitigação do ataque mais rápida e efetiva. Entretanto, se a organização está sofrendo um ataque DDoS pela primeira vez e/ou não se planejou com antecedência, não significa que não possa fazer nada para mitigar o problema, apenas que talvez seja mais demorado e trabalhoso.

É importante lembrar que não é simples conter totalmente um ataque DDoS em andamento, porém há algumas ações e técnicas que podem auxiliar a reduzir os danos causados. De preferência, a mitigação deve ser aplicada o mais próximo possível da origem do ataque para que o excesso de tráfego impacte o menos possível as demais redes.

As técnicas listadas nessa seção são um resumo de alguns itens citados com detalhes na seção 6.1.

Documentar as ações tomadas: antes de começar a agir é importante lembrar de registrar as ações que estão sendo tomadas.

Distribuir o alvo do ataque: usar recursos para distribuir o tráfego do ataque entre diferentes servidores, de preferência, entre os que estão localizados próximo dos atacantes.

Usar serviços de mitigação: por meio de comunidades BGP é possível redirecionar e filtrar o tráfego.

Tentar reduzir o volume de tráfego: efetuar a filtragem de tráfego, respeitando os limites da infraestrutura já que, dependendo do ataque, o processamento (overhead) necessário para analisar e filtrar o tráfego pode sobrecarregar os equipamentos e deixar a rede indisponível.

Tentar mitigar os ataques à camada de aplicação: aplicar medidas de mitigação para proteger a aplicação que está sendo atacada.

Notificar as redes que estão gerando o ataque: informar as redes que estão gerando o ataque para que tomem medidas para interromper essa atividade maliciosa.


6.4. Após o ataque

Após o ataque é o momento de:


7. Glossário

ACL
Access Control List – Lista de controle de acesso.
AS
Autonomous System – Sistema autônomo. É um grupo de redes IP, abaixo de uma única gerência técnica e que compartilham uma mesma política de roteamento. RFC 1930 – https://tools.ietf.org/html/rfc1930.
BGP
Border Gateway Protocol. Protocolo de roteamento usado para trocar informações sobre caminhos entre diferentes redes.
bps
bits per second – bits por segundo.
CDN
Content Delivery Network – Rede de distribuição de conteúdo.
CHARGEN
Character Generator Protocol – Protocolo de geração de caracteres. Utiliza as portas 19/UDP e 19/TCP.
CMS
Content Management System – Sistema de Gerenciamento de Conteúdo.
CPE
Customer Premises Equipment. Nome genérico que se refere aos equipamentos de rede instalados na ponta de acesso do usuário/assinante de um serviço de telecomunicações. Exemplos: modem ADSL, roteador Wi-Fi (Fonte: Wikipedia).
DNS
Domain Name System – Sistema de nomes de domínios. Serviço responsável pela tradução, entre outros tipos, de nome de máquinas/domínios para o endereço IP correspondente e vice-versa. Utiliza as portas 53/UDP e 53/TCP.
DDoS
Distributed Denial of Service – Negação distribuída de serviço. Atividade maliciosa, coordenada e distribuída pela qual um conjunto de computadores e/ou dispositivos móveis é utilizado para tirar de operação um serviço, um computador ou uma rede conectada à Internet.
DoS
Denial of Service – Negação de serviço. Atividade maliciosa pela qual um atacante utiliza um computador ou dispositivo móvel para tirar de operação um serviço, um computador ou uma rede conectada à Internet.
DRDoS
Distributed Reflective Denial of Service – Negação distribuída de serviço com uso de amplificação. Tipo de ataque volumétrico que explora características em protocolos de Internet, que permitem altas taxas de amplificação de pacotes, e utiliza endereços IP forjados (spoofados), para que os pacotes amplificados sejam direcionados para o alvo do ataque.
GSLB
Global Server Load-Balance. Balanceador de carga de servidor global.
HOIC
High Orbit Ion Cannon. Ferramenta que pode ser usada para geração de ataques DDoS.
IPS
Intrusion Prevention System – Sistema de prevenção de intrusão.
IRC
Internet Relay Chat.
ISP
Internet Service Provider – Provedor de serviços de Internet.
LOIC
Low Orbit Ion Cannon. Ferramenta que pode ser usada para geração de ataques DDoS.
NetBIOS
Network Basic Input/Output System – Sistema básico de rede de entrada e saída. Utiliza as portas 137/UDP, 138/UDP e 139/UDP.
NTP
Network Time Protocol – Protocolo de tempo na rede. Tipo de protocolo que permite a sincronização dos relógios dos dispositivos de uma rede, como servidores, estações de trabalho, roteadores e outros equipamentos, à partir de referências de tempo confiáveis (Fonte:http://ntp.br/). Utiliza a porta 123/UDP.
OWASP
Open Web Application Security Projecthttps://www.owasp.org/.
pps
packets per second – pacotes por segundo.
RUDY
R.U.D.Y., R-U-Dead-Yet?. Ferramenta que pode ser usada para gerar ataques DDoS.
RRL
Response Rate Limit.
SGBD
Sistema gerenciador de banco de dados ou Database Management System (DBMS).
Slowloris
Ferramenta que pode ser usada para gerar ataques DDoS.
SNMP
Simple Network Management Protocol – Protocolo simples de gerenciamento de rede. Utiliza as portas 161/UDP e 161/TCP.
SSDP
Simple Service Discovery Protocol. Protocolo simples de descoberta de serviços. Utiliza a porta 1900/UDP.
TTL
Time to Live.
UPnP
Universal Plug and Play.
WAF
Web Application Firewall.
WAN
Wide Area Network.
XSS
Cross-Site Scripting.


8. Referências

Segue abaixo uma lista de referências que subsidiaram a escrita deste documento e que são recomendadas como leitura complementar.

Relatórios, artigos e guias sobre ataques DDoS

Artigos sobre ataques de DRDoS

Apresentações em eventos sobre ataques DDoS

Boas práticas – AntiSpoofing

Dicas de segurança para ambientes Web

Recomendações e modelos para notificação de incidentes

Outras referências


9. Agradecimentos

Gostaríamos de agradecer a Miriam von Zuben pelo desenvolvimento da versão inicial deste documento e a Cristine Hoepers, Gustavo Rodrigues Ramos, Iguatemi Eduardo da Fonseca, Klaus Steding-Jessen, Lucimara Desiderá, Marcelo H. P. C. Chaves e Wilson Rogério Lopes pela revisão e por sugestões para o desenvolvimento deste documento.


10. Histórico de Revisões

$Date: 2016/04/20 15:59:38 $