segunda-feira, 13 de abril de 2015

A negação do serviço

No Fausto, de Goethe, Mefistófeles aposta com Deus que vai ganhar a alma de Fausto e se autodefine como “aquele que sempre nega tudo”. É o diabo!

Uma das pragas que assolam hoje nosso mundinho das redes é o “ataque de negação de serviços”, conhecido como DDoS (Distributed Denial of Service). O objetivo desse ataque é fazer com que algum sítio ou algum serviço torne-se temporariamente inoperante ou inacessível. Não é o tema aqui discutir motivos que tentem justificar o ataque, mas vale a pena examinar que brechas e ferramentas os atacantes usam para consumá-lo.

Uma das formas clássicas e bem mais conhecidas é a dominação das máquinas de usuários incautos, infectadas com programas maliciosos. Sob controle de seu feitor, as máquinas escravas iniciam um ataque simultâneo à vítima (sítio ou serviço) até sufocá-lo de atividade fictícia impedindo-o de atender a perguntas legítimas. Uma espécie de “piquete eletrônico” usando máquinas-zumbis.

Há um complexo processo de “aliciar” o esquadrão de ataque que passa pela distribuição e instalação do programa malicioso que, por necessitar de um controle central, pode expor os mentores do ataque. E tudo o que é centralizado na Internet é frágil por construção.

Armas distribuídas e mais elaboradas surgiram. Por exemplo, redirecionar um tráfego caudaloso, tirando-o do seu leito normal e jogando-o contra a vítima. Melhor ainda se esse tráfego puder ser multiplicado. Que tal trocar o endereço de um destino de sucesso, por exemplo um sítio de compras, pelo de um sítio que se quer atacar? Ou levar o usuário a um sítio falso, cópia do original, para roubar dados e senha. Se conseguirmos enganar o “guia de endereços” da rede, podemos fazer com que parte do tráfego que se destina a um sitio seja direcionado a outro.

O DNS (Domain Name System) é a coleção de tabelas que traduz nomes para endereços (números). Uma “lista telefônica” da Internet. Se alguém quer “falar” com um sítio, envia o nome do sítio ao DNS esperando receber o número para completar a ligação. E se o DNS estiver comprometido e responder com um número falso, ligaremos erradamente, com eventuais consequências para o destinatário e para nós mesmos. Os DNS que têm autoridade sobre seu conteúdo são em geral muito seguros e sempre confiáveis.

Mas, há incontáveis cópias dinâmicas deles pela rede, justificadas para aumentar a eficiência do processo. Nossas últimas consultas são armazenadas em “caches” para reutilização em curto espaço e tempo. A integridade dessas sublistas dinâmicas é bem frágil. Há alguns anos temos uma segurança adicional, o DNSSEC – assinatura aposta à tradução para que sua confiança seja verificável – está sendo paulatinamente adicionado ao DNS. A assinatura deveria ser conferida por todos na cadeia, mas ainda demorará para que essa segurança se espalhe.

Há certamente outras formas de “negar serviço” e outras vulnerabilidades que Mefistófeles tenta explorar para conseguir a danação de Fausto. Esperemos, entretanto, que Mefisto perca mais essa aposta. E ele costuma perder!

===

Nenhum comentário: