Análise de ataques de botnet ao site bdsmovement.net protegido pelo Deflect
Este relatório abrange os ataques ocorridos entre 1º de fevereiro e 31 de março, relativos a seis incidentes detectados que tiveram como alvo o site bdsmovement.net, incluindo métodos de ataque, botnets identificadas e suas características. Ele fornece informações técnicas detalhadas e análises de tendências, com a introdução da biblioteca Bothound para identificação de padrões de ataque e classificação de botnets. Agrupamos comportamentos maliciosos na rede do Deflect para identificar botnets individuais e empregamos análise de interseção de suas atividades ao longo dos incidentes documentados e além deles. Nossa pesquisa inclui padrões identificados na seleção de alvos pelos agentes que controlam esses ataques.
O Deflect é um projeto de segurança de sites que trabalha com mídia independente, organizações de direitos humanos e ativistas. Ele oferece mitigação de ataques DDoS, hospedagem segura e análise de ataques, gratuitamente para organizações qualificadas. Todas as nossas ferramentas são de código aberto e operamos de acordo com princípios que promovem a privacidade de nossos clientes. O Deflect é um projeto da eQualit.ie, uma organização canadense sem fins lucrativos que trabalha para promover e defender os direitos humanos na era digital.
Links de navegação: Perfil do ataque; Perfil da botnet; Seleção de alvos pela botnet; Comparação do comportamento da botnet; Análise aprofundada do incidente; Conclusões do relatório
Informações gerais
O Movimento de Boicote, Desinvestimento e Sanções (Movimento BDS, bdsmovement.net) é uma campanha global palestina, iniciada em 2005. O movimento BDS tem como objetivo pressionar Israel de forma não violenta a cumprir o direito internacional e pôr fim à cumplicidade internacional com as violações do direito internacional por parte de Israel. Seu site está protegido pelo Deflect desde o final de 2014 e tem sido alvo de ataques frequentes.

Perfil dos ataques
Durante fevereiro e março de 2016, foram registrados 6 incidentes contra o site alvo. A infraestrutura do Deflect Labs nos permite capturar, processar e traçar o perfil de cada ataque, analisando incidentes únicos e cruzando as descobertas com um banco de dados de botnets já mapeadas. Definimos os parâmetros para comportamentos anômalos na rede e, em seguida, agrupamos (“cluster”) IPs maliciosos em botnets utilizando algoritmos de aprendizado de máquina não supervisionado.
[one_half]

[/one_half][one_half_last]

[/one_half_last]
Definimos cada incidente delimitando-o dentro de um determinado intervalo de tempo, registramos o número total de acessos que atingiram o site durante esse período e utilizamos nosso conjunto de ferramentas analíticas para separar as solicitações maliciosas feitas por bots do tráfego legítimo do dia a dia.
Tabela 1. Resumo dos ataques, incluindo data de início/término, duração, magnitude do incidente, tamanho e número das botnets detectadas
| id | Início do incidente | Fim do incidente | Duração | Total de acessos | IPs únicos | Número de bots identificados | Botnets identificadas |
| 29 | 10/02/2016 21:00 | 11/02/2016 01:00 | ~5 horas | 879.634 | 14.773 | 12.921 | 3 |
| 30 | 11/02/2016 10h30 | 11/02/2016 12h30 | ~2 horas | 321.203 | 11.108 | 9.023 | 3 |
| 31 | 01/03/2016 15:00 | 01/03/2016 19h30 | ~6h30 | 3.597.689 | 5.918 | 3.243 | 3 |
| 32 | 02/03/2016 12h30 | 02/03/2016 16h00 | ~3h30 | 13.559.169 | 19.851 | 2.748 | 2 |
| 33 | 04/03/2016 09:00 | 04/03/2016 09:30 | ~30 min | 2.058.710 | 9.613 | 8.844 | 1 |
| 34 | 08/03/2016 14:20 | 08/03/2016 16:40 | ~2h20 | 5.017.045 | 7.937 | 7.151 | 1 |
O número de bots únicos e seu agrupamento em botnets específicas é resultado do trabalho de agrupamento realizado pelo BotHound. Esse kit de ferramentas classifica os endereços IP com base em seu comportamento e nos permite determinar a presença de diferentes botnets no mesmo incidente (ataque).
Perfil da botnet
Usando o BotHound, calculamos a porcentagem de endereços IP únicos (classificados como bots) que reaparecem em incidentes distintos. Uma porcentagem significativa de bots já observados anteriormente seria uma forma de identificar se uma botnet foi reutilizada para atacar o mesmo alvo. Isso revelaria uma tendência no comportamento de comando e controle da botnet. Essa interseção de endereços IP de botnets também cria uma oportunidade de comparar a atividade entre vários sites-alvo, sejam eles protegidos pelo Deflect ou em uma das redes de nossos parceiros. Em conjunto, começamos a construir um perfil de atividade para cada botnet, o que nos ajuda a formular hipóteses sobre sua motivação e lista de alvos.
[one_half]
Tabela 2. Interseção de bots idênticos entre os incidentes
|
Nº do incidente |
Número de bots idênticos |
A proporção de bots idênticos |
| 29, 30 | 6.928 | 76,8% |
| 31, 32 | 1.450 | 91,0% |
| 33, 34 | 4.249 | 59,4% |
| 32, 33 | 438 | 17,9% |
[/one_half][one_half_last]

[/one_half_last]
Tabela 3. Botnets identificadas e os incidentes em que aparecem
| ID da botnet | Observada no incidente | Bots únicos | Os 10 principais países de origem dos bots | Método de ataque |
| 1 | 29, 30 | 13.857 | Federação Russa; Ucrânia; China; Lituânia; Alemanha; Suíça; Gibraltar; Reino Unido; Países Baixos; França | POST |
| 2 | 29, 30 | 8.913 | Federação Russa; China; Ucrânia; Alemanha; Lituânia; Estados Unidos; Suíça; Reino Unido; França; Gibraltar | POST |
| 4 | 31, 32 | 2.589 | Estados Unidos; Alemanha; Reino Unido; Países Baixos; China; Japão; Cingapura; Irlanda; França; Espanha; Austrália | Pingback |
| 5 | 31, 32 | 772 | Estados Unidos; Reino Unido; Alemanha; Países Baixos; Itália; França; Federação Russa; Cingapura; Canadá; Japão; China | Pingback |
| 6 | 31 | 971 | Estados Unidos; China; Alemanha; Japão; Reino Unido; Cingapura; Países Baixos; França; Irlanda; Canadá; Austrália | Pingback |
| 7 | 33, 34 | 11.746 | Estados Unidos; Reino Unido; Alemanha; França; Países Baixos; China; Canadá; Federação Russa; Irlanda; Espanha; Turquia | Pingback |
Seleção de alvos de botnets
A Deflect protege um grande número de sites qualificados de direitos humanos e mídia independente em todo o mundo. Nosso conjunto de ferramentas de captura e análise de botnets nos permite investigar as características e os padrões dos ataques. Consideramos que a presença (interseção) de mais de 30% de bots idênticos indica origem em uma botnet semelhante. Durante nossa análise mais ampla do período coberto por este relatório, constatamos que a botnet nº 7, que teve como alvo o site bdsmovement.net em 3 de março, também atacou o site de uma organização israelense de direitos humanos sob nossa proteção nos dias 5 e 11 de abril. Em cada incidente, mais de 50% dos endereços IP da botnet que atacaram esse site também faziam parte da botnet nº 7 analisada neste relatório. Além disso, uma organização parceira especializada em segurança de sites analisou nossas descobertas e concluiu que uma quantidade substancial de endereços IP pertencentes a essa botnet estava atacando outro site de mídia israelense sob sua proteção, nos dias 7 e 12 de abril. As organizações visadas por essa botnet não compartilham uma linha editorial comum nem estão de forma alguma associadas entre si. Suas principais semelhanças residem na ênfase em questões relevantes para a proteção dos direitos humanos nos Territórios Ocupados e na denúncia de violações no conflito em curso. Nossa análise mostra que esses sites podem ter um adversário em comum — o controlador ou locatário da botnet nº 7 — que se sentiu prejudicado pelo trabalho de cada um deles. Apresentaremos nossas conclusões sobre esta investigação com mais detalhes em um relatório a ser publicado em breve.
Comparação do comportamento da botnet
O BotHound funciona classificando o comportamento dos atores na rede (sejam humanos ou bots) e agrupando-os de acordo com um conjunto de características predefinidas. O comportamento malicioso se destaca da tendência cotidiana do tráfego regular. Na imagem abaixo, os pontos VERMELHOS referem-se a sessões de invasores, enquanto os pontos AZUIS referem-se a todo o restante (tráfego regular). O gráfico exibe todos os 6 incidentes combinados. Escolhemos as seguintes 3 dimensões para representar visualmente uma projeção de um espaço de 7 dimensões (onde o agrupamento do BotHound é calculado):
- Profundidade da solicitação HTTP
- Variação do intervalo entre solicitações HTTP
- Proporção entre HTML e imagens

Análise aprofundada dos incidentes
Capturamos, analisamos e agora traçamos o perfil de cada botnet observada nos 6 incidentes. Dividimos os incidentes em três grupos, com base na semelhança das características dos ataques e no momento em que ocorreram.
[one_half]
Incidentes nº 29 e nº 30
Data: 10 a 11 de fevereiro de 2016
Duração: aproximadamente 28 horas
Botnets identificadas: 2 (ID das botnets: #1 e #2)
Interseção de IPs entre as botnets: 76%
Tipo de ataque: HTTP POST
[/one_half]
[one_half_last]

[/one_half_last]
Análise do ataque
Após realizar uma análise exaustiva de agrupamento para separar os IPs “bons” dos “ruins” com base em seu comportamento durante o período do incidente, aplicamos um novo método secundário de agrupamento que identificou dois padrões diferentes de comportamento abrangendo ambos os incidentes. O primeiro padrão de ataque utilizava bots para atingir o alvo muito rapidamente, com características semelhantes (duração da sessão, intervalos entre solicitações etc.). A segunda botnet atacava mais lentamente, mas de forma mais consistente. A duração da sessão variava, provavelmente para contornar nossos mecanismos de mitigação. No entanto, o intervalo entre as solicitações era zero, o que nos ajudou a identificá-las. É fácil distinguir as duas botnets diferentes nos gráficos abaixo.
[one_half]
Botnet identificada nº 1
Membros: 13 .857
Observações:
- Duração da sessão = 314 seg
- Média da carga útil = 521 bytes
- Taxa de ataques = 0,04/minuto
- Solicitações: 500.000
- Cabeçalho do host: preciso
- Método: POST (> 99,9%)
- Caminho da URI: / (> 99,9%)
- UA: baixa variação, com a maioria dos principais UAsrepresentados
Resposta de desvio: sucessomoderado no bloqueio; a origem foi afetada.[/one_half]
[one_half_last]
Botnet identificada nº 2
Membros: 8 .913
Observações:
- Duração da sessão = 429 seg
- Média de carga útil = 447 bytes
- Taxa de acertos = 0,05/minuto
- Solicitações: 600.000
- Cabeçalho do host: preciso
- Método: POST (> 99,9%)
- Caminho da URI: / (> 99,9%)
- UA: baixa variação (ligeiramente superior à da botnet 1), a maioria dos principais UAsrepresentados
Resposta do Deflect: sucesso moderado no bloqueio, a origem foi afetada.[/one_half_last]
[one_half]

[/one_half][one_half_last]

[/one_half_last]
Georreferência de IP
O endereço IP que solicita um site pode ser geolocalizado. Outra forma de visualizar o comportamento da botnet é cruzando as informações com o país de origem dos bots. Podemos observar facilmente a intensidade do ataque (número de acessos) em relação à distribuição dos bots (IPs únicos) nos diagramas abaixo.
[one_half]

[/one_half][one_half_last]

[/one_half_last]
Agente do usuário e dispositivo
Cada solicitação a um site geralmente contém um cabeçalho com informações de identificação sobre o solicitante. É claro que isso pode ser falsificado, mas, de qualquer forma, se destaca do padrão geral de tráfego do site. Esses incidentes apresentaram uma alta consistência de dispositivos do tipo “Smartphone genérico” e “Outros” – descrevendo a unidade de hardware a partir da qual a solicitação supostamente foi feita. É comum que botnets falsifiquem o agente de usuário de um dispositivo ou, pelo menos, compartilhem um agente comum.

Conclusões sobre os ataques dos incidentes nº 29 e nº 30
- Esses ataques se destacaram pelo número relativamente grande de bots participantes, mas foram de menor intensidade (número de acessos ao alvo) em comparação com os incidentes nº 31 a 34. Três ataques foram lançados durante o período desses incidentes, solicitando a mesma URL ( /- ) e utilizando o mesmo “dispositivo” no agente de usuário da solicitação.
- Havia duas e, possivelmente, três botnets nesses incidentes. Elas podem ser diferenciadas pela localização geográfica de seus bots e pelas taxas de acertos durante o ataque. O que é interessante é que o método de ataque entre as diferentes botnets e os horários dos ataques é o mesmo. Além disso, as duas botnets compartilham uma alta porcentagem de endereços IP de bots que se sobrepõem (76,8%). Isso pode ser um indício de que elas são sub-redes de uma rede maliciosa maior e estão sendo controladas pela mesma entidade.
Incidentes nº 31 e nº 32
Data: 1 e 2 de março de 2016
Duração: aproximadamente 21,5 horas
Botnets identificadas: 3 (ID das botnets: #4, #5, #6)
Interseção de IPs entre as botnets: 91%
Tipo de ataque: Reflexão – Pingback do WordPress[1]
Análise do ataque
Os invasores utilizaram a mesma botnet (91% de interseção) durante os incidentes nº 31 e nº 32 em um intervalo de 22 horas. O incidente nº 32 é o maior em termos de acessos em todo o período coberto por este relatório — totalizando mais de 13,5 milhões de acessos em 6 horas. Esses incidentes apresentam características de UA (dispositivo) muito semelhantes, sendo a maioria identificada como “Spider” (estamos realizando uma análise de interseção da UA mais adiante neste relatório).
[one_third]
Botnet identificada nº 4
Membros: 2 .589
Observações:
- Duração da sessão = 2.971 s
- Média de carga útil = 8.217 bytes
- Taxa de acessos = 1,7 por minuto
- Solicitações: 10,8 milhões
- Cabeçalho do host: preciso
- Método: GET (> 99%)
- Caminho da URI: / (> 99%)
- UA: alta variação, todos pingbacks do WordPress
Resposta do Deflect: Bloqueadocom sucesso . 91% das respostas à botnet processadas pela borda em até 20 ms

[/one_third][one_third]
Botnet identificada nº 5
Membros: 772
Observações:
- Duração da sessão = 3.587 s
- Média de carga útil = 10.221 bytes
- Taxa de acertos = 0,48/minuto
- Solicitações: 3 milhões
- Cabeçalho do host: preciso
- Método: GET (> 99%)
- Caminho da URI: / (> 99%)
- UA: alta variação, todos pingbacks do WordPress
Resposta do Deflect: Bloqueadocom sucesso . 85% das respostas à botnet foram processadas pela borda em até 20 ms

[/one_third][one_third_last]
Botnet identificada nº 6
Membros: 971
Observações:
- Duração da sessão = 583 segundos
- Média da carga útil = 31.317 bytes
- Taxa de acertos = 0,49/minuto
- Solicitações: 145.000
- Cabeçalho do host: preciso
- Método: GET (> 99%)
- Caminho da URI: / (> 99%)
- Variação de UA: alta variação, todos pingbacks do WordPress
Resposta do Deflect: Incidenterelativamente pequeno — alguns invasores não acionaram nossa detecção antecipada, com cerca de 15% conseguindo chegar à origem (22.000 solicitações retornaram um HTTP 200). Bloqueio bem-sucedido.

[/one_third_last]
Agente do usuário e dispositivo
O parâmetro “UA” em nosso sistema de registro identifica a string do agente do usuário no cabeçalho da solicitação feita ao site de destino. Geralmente, ele representa a assinatura (ou versão) do programa usado para consultar o site; por exemplo, “Mozilla/5.0 (Windows NT 6.1; WOW64; Trident/7.0; rv:11.0) like Gecko” significa que a solicitação foi feita a partir do Internet Explorer versão 11, rodando no sistema operacional Windows 7 [2]. O parâmetro “dispositivo” em nosso sistema de registro identifica o hardware (dispositivo) no qual o agente do usuário está sendo executado, por exemplo, “Dispositivo iOS”, “Nexus 5” ou “Windows 7”. Nesse caso, a grande maioria dos endereços IP que acessaram o site foi classificada como “spiders”. Um spider, ou rastreador da web, é um software usado por mecanismos de busca para indexar a web. As strings de agente de usuário são apenas texto e podem ser alteradas (falsificadas) para indicar qualquer coisa — inclusive copiando uma string de agente de usuário comumente usada por algum outro software.[one_half]

[/one_half][one_half_last]

[/one_half_last]
Conclusões sobre os ataques dos incidentes nº 31 e nº 32
- Esses incidentes se destacam por suas características comuns de ataque e de atacantes, com uma sobreposição de 91% dos bots utilizados em ambas as instâncias (do incidente menor). O comportamento das botnets nº 4 e nº 5 difere apenas na taxa de acertos. As botnets nº 5 e nº 6 apresentam um número semelhante de bots e uma taxa de acertos quase idêntica. Curiosamente, elas diferem bastante no número de ataques que cada uma lançou contra o site alvo. Parece que todas as três botnets tinham forte presença em computadores nos Estados Unidos. Todas as botnets utilizaram o mesmo método de ataque — pingback do WordPress — em ambos os incidentes.
- As semelhanças entre os endereços IP dos bots e as tentativas de variar o padrão de ataque de botnets muito semelhantes indicam esforços liderados por humanos para adaptar suas botnets a fim de contornar as defesas do Deflect. Parece que as botnets utilizadas nesses dois incidentes têm o mesmo controlador por trás delas.
Incidentes nº 33 e nº 34
Data: 4 de março e 8 de março de 2016
Duração: 30 minutos, 2 horas e 20 minutos
Número de bots: 8.844 e 7.151
Botnets identificadas: 1 (ID da botnet: #7)
Tipo de ataque: Reflexão – Pingback do WordPress[1]
Botnet identificada #7
Membros: 11 .746
Observações:

- Duração da sessão = 2.665 s
- Média de carga útil = 15.572 bytes
- Taxa de acertos = 0,30/minuto
- Solicitações: 7,9 milhões
- Cabeçalho do host: preciso
- Método: GET (> 99%)
- Caminho da URI: / (> 99%)
- Variação de UA: alta variação, principalmente pingbacks do WordPress (92%)
Resposta do Deflect: sucessomoderado no bloqueio. 75% das solicitações foram tratadas em <200 ms, 5% apresentaram tempo limite de leitura na origem

Conclusões sobre os ataques dos incidentes nº 33 e nº 34
- O incidente nº 33 parece ser uma sondagem (ou uma primeira tentativa) antes de um ataque muito mais forte, com características semelhantes, ser lançado no incidente nº 34. Isso é comprovado pelo uso de uma única botnet em ambos os incidentes.
- A botnet nº 7 aparece em outros ataques contra sites israelenses, em nossa rede e na rede de um de nossos pares. O padrão de ataque utilizado nesses incidentes é semelhante ao dos dois incidentes anteriores, e constatamos uma sobreposição de 17,9% entre os bots utilizados nos incidentes nº 32 e nº 33, o que possivelmente vincula os incidentes nº 31 a 34 entre si. Juntamente com a prevalência de bots originários dos Estados Unidos, há indícios de que as botnets 4 a 7 tenham origem em uma rede maior semelhante.
Conclusões do relatório
Foram feitas tentativas de derrubar o site bdsmovement.net utilizando várias botnets (pelo menos duas distintas e relativamente grandes), com abordagens técnicas variadas. Isso demonstra um nível de sofisticação e empenho que geralmente não é observado na rede Deflect. A escolha do método de ataque nos permitiu identificar qual site estava sendo alvo, o que pode ter sido uma decisão consciente. No entanto, não encontramos nada que ligasse os ataques nos incidentes #29-30 aos ataques nos incidentes #31-34. O relativo sucesso em afetar a origem nos dois primeiros incidentes não foi repetido nos quatro seguintes. Além disso, outros métodos eficazes para sobrecarregar a rede com tráfego ou saturar nossos mecanismos de defesa poderiam ter sido utilizados, caso os atacantes tivessem recursos e dedicação suficientes para atingir seus objetivos.
A criação de perfis históricos da atividade de botnets e a capacidade de cruzar nossos resultados com os de organizações parceiras levarão a uma melhor compreensão das tendências, em uma faixa mais ampla da Internet. A adaptação de ferramentas de classificação de botnets aos mecanismos de defesa automatizados nos permitirá notificar nossos parceiros sobre botnets identificadas e confirmadas antes de um ataque. Ao minar gradualmente a impunidade dos controladores de botnets, esperamos reduzir a prevalência de ataques DDoS como método para suprimir vozes online.
A eQualit.ie convida organizações interessadas nesta colaboração a entrar em contato.
[1] Um ataque de pingback no WordPress utiliza uma função legítima do próprio WordPress, notificando outros sites de que você está criando um link para eles, na esperança de reciprocidade. Ele chama a função XML-RPC para enviar uma solicitação de pingback. O invasor escolhe um conjunto de sites do WordPress e envia a eles uma solicitação de pingback, falsificando a origem como sendo o site alvo. Esse recurso vem ativado por padrão nas instalações do WordPress, e muitas pessoas administram seus sites sem saber que seus servidores estão sendo usados para refletir um ataque DDoS.
[2] http://www.useragentstring.com/index.php














