Este é o quinto ano de operações do Deflect e um momento oportuno para tirar algumas conclusões do passado e oferecer uma rodada de feedback aos nossos diversos usuários e colegas. Lutamos e vencemos centenas de batalhas contra diversos ataques distribuídos de negação de serviço (DDoS) e de engenharia social direcionados a nós e aos nossos clientes, ampliando a oferta de soluções de mitigação de código aberto do Deflect para incluir também hospedagem de sites e análise de ataques. No entanto, cometemos vários erros importantes ao longo desse caminho, e este post se concentrará nas lições aprendidas e no caminho a seguir em nossa batalha para reduzir a prevalência do DDOS como uma técnica muito comum para silenciar vozes online.
Nossas reflexões e esta postagem foram motivadas por um relatório de avaliação externa do serviço Distributed Deflect, que você pode ler neste PDF. O projeto em si foi uma aposta técnica arriscada e um exercício ambicioso de construção de comunidade. As lições aprendidas com essa iniciativa estão resumidas no documento. A leitura leva cerca de 10 minutos 🙂
Durante os horários de pico no Deflect, ao longo do período de 2012 a 2016, atendíamos uma média de 3 milhões de leitores únicos por dia e enfrentávamos ataques DDoS simultâneos contra vários clientes. A rede manteve os sites em funcionamento ininterruptamente durante os 3 anos e 3 meses de duração do projeto, registrando menos de 30 minutos de tempo de inatividade no total. O projeto teve impacto direto em mais de quatrocentas organizações independentes de mídia, direitos humanos e promoção da democracia.

O que fizemos
A eQualit.ie lançou 10 bibliotecas, kits de ferramentas e frameworks de código aberto, incluindo ferramentas para gerenciamento de rede e mitigação de ataques DDoS; um framework de hospedagem gerenciada para WordPress; classificação e análise de comportamentos maliciosos na rede; a biblioteca Bundler para criptografia e entrega de sites em redes não confiáveis, que também foi reutilizada no projeto Censorship.NO para contornar a infraestrutura de filtragem da Internet.
Mais de trezentos e cinquenta sites passaram pelo serviço de proteção Deflect. Esses sites variavam em tamanho e popularidade, recebendo desde uma dúzia de leitores diários até mais de um milhão. Nossa política de portas abertas significava que os sites que mudassem de ideia sobre a proteção do Deflect eram livres para sair e não enfrentavam qualquer tipo de impedimento para fazê-lo. Ao longo do projeto, mitigamos mais de quatrocentos ataques DDoS e atendemos aproximadamente 1% dos usuários da Internet a cada ano civil (de acordo com nossos registros, correlacionados com os dados da Internet World Statistics). Nosso trabalho também foi divulgado na mídia especializada e na grande mídia.
Além do serviço de proteção contra ataques DDoS, treinamos diversos administradores de sites nos princípios de segurança na web, trabalhamos com vários provedores de internet de pequeno e médio porte para que configurassem sua própria infraestrutura Deflect e possibilitamos a presença na internet de organizações e movimentos importantes envolvidos em eventos nacionais e internacionais, incluindo as eleições de 2013 no Irã, as eleições de 2014 na Ucrânia, o sequestro em massa de Iguala, os Panama Papers e o movimento Black Lives Matter, entre outros.
Desvio Distribuído
À medida que os ataques aumentavam de magnitude, debatemos a viabilidade a longo prazo do projeto e decidimos criar um protótipo de serviço de mitigação de DDoS em espécie, no qual sites que recebessem proteção gratuita e quaisquer voluntários pudessem se juntar e ampliar o tamanho e o alcance da rede de mitigação. Queríamos criar um serviço administrado pelas próprias pessoas que ele protegia. A hipótese previa a primeira infraestrutura participativa de botnet do mundo, na qual a rede seria sustentada por cerca de cem servidores administrados pelo projeto Deflect e vários milhares de nós voluntários. Nossa experiência anterior mostrou que a melhor maneira de mitigar um ataque de botnet era por meio de uma solução distribuída, utilizando o design da Internet para neutralizar um ataque que nenhum ponto final isolado poderia suportar sozinho. O Distributed Deflect reuniu pessoas de diversas origens e competências, combinando desenvolvimento de software e prestação de serviços técnicos, suporte ao cliente e divulgação, documentação e comunicação. Projetamos, criamos protótipos e colocamos em produção os componentes centrais de uma infraestrutura distribuída de voluntários, apenas para perceber que a hipótese por trás de nossa proposta não seria escalável se quiséssemos manter a privacidade e a segurança de todos os participantes da nossa rede.

Uma infraestrutura que aceitasse recursos de rede voluntários (não confiáveis) precisava introduzir verificações quanto à precisão e confidencialidade do conteúdo; caso contrário, um nó mal-intencionado poderia não apenas ver quem estava fazendo o quê na rede Deflect, mas também excluir ou alterar o conteúdo à medida que ele passasse por sua máquina. Nossa solução foi criptografar as páginas da web assim que elas saíssem do servidor de origem e entregá-las aos leitores como um pacote criptografado, com um trecho de autenticação adicional enviado por outro nó para verificação. Os nós voluntários armazenariam em cache apenas informações criptografadas e não poderiam substituí-las por conteúdo alternativo.

Todo o projeto de infraestrutura e as ferramentas de software necessárias para implementar esse modelo foram desenvolvidos de acordo com as especificações. No entanto, quando tudo estava pronto para a produção e em fase de testes, percebemos o erro na hipótese formulada no início. Os pacotes criptografados aumentaram de tamanho, pois todas as fontes das páginas e várias bibliotecas de terceiros — que constituem a maior parte das páginas da web atualmente e geralmente são armazenadas no cache do navegador — tiveram que ser incluídas em cada pacote.
Isso aumentava a latência da rede e não permitia escalar durante um ataque DDoS. Estávamos prejudicando o desempenho da nossa infraestrutura, em vez de melhorá-lo. Outro fator importante que influenciou nossa decisão foi o baixo custo da infraestrutura de servidores. Ao alugar nossas máquinas com provedores comerciais e aproveitar seus preços competitivos a nosso favor, conseguimos manter os custos de infraestrutura abaixo de 5% de nossas despesas mensais totais. O investimento financeiro em uma infraestrutura mundial de servidores Deflect não era significativo quando comparado aos recursos necessários para manter a rede. Ao concentrar nossos esforços de desenvolvimento na criptografia e na entrega de conteúdo do site a partir de nosso cache distribuído e no balanceamento de carga de desempenho em uma infraestrutura de nós voluntários, adiamos o trabalho de aprimoramento do gerenciamento de rede e da automação de tarefas. Isso significava que o nível de exigência para prestar suporte técnico à rede era bastante alto, o que excluía a participação de voluntários com conhecimentos técnicos protegidos pelo Deflect.

Após vários meses de novos testes, deliberações e consultas com nossos financiadores, decidimos abandonar a iniciativa de incluir recursos voluntários de rede, optando por dar continuidade à plataforma de mitigação existente e aprimorar seus serviços para os clientes. À medida que a mitigação de ataques se tornou rotineira e a Deflect defendeu com sucesso seus clientes contra ofensivas DDoS implacáveis, a equipe começou a analisar a impunidade de que atualmente gozam aqueles que lançam os ataques. Começando com o caso de um site de mídia independente vietnamita alvo de bots originários de um provedor de internet vietnamita regulado e controlado pelo Estado, percebemos que era possível extrair uma história a partir do rastro forense de um ataque, que poderia conter evidências de motivação, método e proveniência. Se essa história pudesse ser contada, ela daria um enorme poder de defesa à vítima e começaria a desmascarar o anonimato de que gozam seus organizadores. O custo de atacar os clientes da Deflect aumentaria à medida que a exposição e a atenção da mídia em torno do evento frustrassem os objetivos dos atacantes.
Começamos a desenvolver uma infraestrutura capaz de capturar um segmento estatisticamente relevante de um ataque. A análise de dados foi realizada por meio de tecnologia automatizada para a criação de perfis e classificação de agentes maliciosos em nossa rede, ferramentas de visualização para investigações conduzidas por humanos e cooperação com organizações parceiras para rastrear atividades em nossas respectivas redes. Esse esforço deu origem ao Deflect Labs e, em seus primeiros doze meses, publicamos três relatórios detalhados cobrindo uma série de incidentes direcionados a sites protegidos pelo Deflect, expondo sua metodologia e traçando o perfil de suas redes. Por meio de inteligência de código aberto e em colaboração com a equipe dos sites, identificamos uma história por trás de cada ataque, revelando possíveis motivações e a identidade dos invasores. Após a publicação e a atenção da mídia gerada por esses relatórios, os ataques contra um dos sites diminuíram significativamente e cessaram completamente no caso do outro.

Desafios
Era de se esperar que surgissem muitas dificuldades e problemas ao operar um serviço de segurança de alto impacto, 24 horas por dia, 7 dias por semana, para vários milhões de leitores diários. O cansaço, a falta de tempo para desenvolver novos recursos, a cobertura de emergências ininterrupta e inúmeras situações de alto estresse levaram ao esgotamento e à rotatividade de pessoal. Os recursos investidos no modelo Distributed Deflect atrasaram consideravelmente o desenvolvimento de outras metas do projeto.
Mais ou menos na mesma época em que o Deflect ganhava popularidade, ofertas gratuitas de mitigação da Cloudflare e do Google foram lançadas em conjunto com campanhas de divulgação voltadas para a mídia independente e organizações de direitos humanos. Isso proporcionou mais opções para organizações da sociedade civil que buscavam proteção para seus sites, mas tornou mais difícil para nós atrairmos o número esperado de sites. Iniciamos uma campanha para definir as diferenças em nossas abordagens distintas quanto à elegibilidade dos clientes, ao respeito à privacidade deles e aos termos de serviço claros, experimentando uma variedade de estratégias de comunicação e divulgação. Ficamos, no entanto, desapontados por não termos recebido mais apoio de nossa comunidade de colegas, já que soluções de código aberto e propriedade dos dados não figuravam como critérios prioritários para ONGs e meios de comunicação na hora de selecionar opções de mitigação.
… seguimos em frente
A Deflect continua operando e inovando, crescendo e se consolidando gradualmente. Nossas ambições atuais incluem oferecer aos nossos clientes opções mais amplas de hospedagem e desenvolver padrões e sistemas para o compartilhamento responsável de dados entre provedores de internet (ISPs) e provedores de mitigação que compartilham da mesma visão. Fiquem atentos às interfaces gráficas de usuário agradáveis em nossos painéis de controle e plataformas de documentação. Também estamos desenvolvendo protótipos de várias abordagens diferentes para gerar receita, a fim de sustentar o projeto no futuro próximo. O objetivo é melhorar sem perder de vista o que viemos fazer aqui desde o início. Como sempre, estamos aqui para apoiar a missão de nossos clientes e seu direito à liberdade de expressão. Ficamos animados com o feedback e os depoimentos deles.
