Utilização de Aprendizado de Máquina para Identificar Ataques Cibernéticos
A plataforma Deflect é um serviço gratuito de segurança de sites que protege a sociedade civil e grupos de direitos humanos contra ataques digitais. Atualmente, o tráfego malicioso é identificado na rede Deflect pelo Banjax, um sistema que utiliza regras definidas manualmente para sinalizar endereços IP que se comportam como bots de ataque, de modo que possam ser bloqueados ou banidos. Embora o Banjax seja eficaz na identificação dos ataques cibernéticos de força bruta mais comuns, a abordagem de usar um conjunto estático de regras para proteger contra as ferramentas em constante evolução disponíveis aos invasores é fundamentalmente limitada. Ao longo do último ano, a equipedo Deflect Labs vem trabalhando no desenvolvimento de um módulo de aprendizado de máquina para identificar automaticamente o tráfego malicioso na plataforma Deflect, de modo que nossos esforços de mitigação possam acompanhar os métodos de ataque à medida que estes se tornam mais complexos e sofisticados.
Neste relatório, analisamos o desempenho da nova ferramenta de detecção de anomalias da Deflect Labs, o Baskerville, na identificação de uma seleção dos ataques observados na plataforma Deflect durante o último ano. O Baskerville foi projetado para processar lotes de logs da web recebidos (seja em tempo real a partir de um fluxo do Kafka, seja do armazenamento do Elasticsearch ), agrupá-los em conjuntos de solicitações por site hospedeiro e endereço IP, extrair as características de navegação de cada conjunto de solicitações e fazer uma previsão sobre se o comportamento é normal ou não. Em sua essência, o Baskerville utiliza atualmente a implementação do Scikit-Learn do algoritmo de detecção de anomalias Isolation Forest para realizar essa classificação, embora o mecanismo seja independente da escolha do algoritmo e qualquer classificador treinado do Scikit-Learn possa ser utilizado em seu lugar. Esse modelo é treinado com dados de tráfego normal da web provenientes da plataforma Deflect e avaliado por meio de um conjunto de ferramentas offline incorporadas ao módulo Baskerville. O Baskerville foi projetado de forma que, assim que o desempenho do modelo for suficientemente robusto, ele possa ser utilizado para alertas e mitigação de ataques em tempo real na plataforma Deflect.
Para demonstrar os recursos atuais do módulo Baskerville, reproduzimos os ataques abordados no relatório de 2018 do Deflect Labs: “Ataques contra a sociedade civil vietnamita”, submetendo os registros da web desses incidentes ao mecanismo de processamento e previsão. Esse relatório foi escolhido para reprodução devido à variedade de ataques observados nos incidentes que o compõem. Houve um total de oito ataques considerados neste relatório, detalhados na tabela abaixo.
| Data | Início (aprox.) | Término (aprox.) | Alvo |
| 17/04/2018 | 08h00 | 10h | viettan.org |
| 17/04/2018 | 08h00 | 10h | baotiengdan.com |
| 04/05/2018 | 00:00 | 23:59 | viettan.org |
| 09/05/2018 | 10h00 | 12h30 | viettan.org |
| 09/05/2018 | 08h00 | 12h | baotiengdan.com |
| 07/06/2018 | 01:00 | 05:00 | baotiengdan.com |
| 13/06/2018 | 03:00 | 08:00 | baotiengdan.com |
| 15/06/2018 | 13h | 23:30 |
baotiengdan.com |
Tabela 1: Períodos de ataque abrangidos neste relatório. O período de cada ataque foi determinado com base no número de registros do Deflect e do Banjax registrados para cada site, em relação ao volume normal de tráfego.
Como isso funciona?
Considerando uma única solicitação proveniente de um endereço IP, não é possível determinar com precisão se esse usuário está agindo de forma suspeita e, portanto, qual é a probabilidade de se tratar de um bot malicioso, em vez de um usuário legítimo. Se, em vez disso, agruparmos todas as solicitações feitas a um site por um único endereço IP ao longo do tempo, podemos começar a construir um panorama mais completo do comportamento de navegação do usuário . Podemos então treinar um algoritmo de detecção de anomalias para identificar quaisquer endereços IP que estejam se comportando fora do escopo do tráfego normal.
Os gráficos de caixa abaixo ilustram como o comportamento durante os períodos de ataque no Vietnã difere daquele observado durante uma quinzena média de solicitações aos mesmos sites. Para descrever o comportamento de navegação, 17 características (detalhadas na documentação do Baskerville) foram extraídas com base nos conjuntos de solicitações (observe que os valores das características são escalonados em relação às distribuições médias e não têm uma interpretação física). Em particular, pode-se observar que esses períodos de ataque se destacam por apresentarem um número muito menor de caminhos únicos solicitados (unique_path_to_request_ratio), uma profundidade média de caminho mais curta (path_depth_average), uma menor variância na profundidade dos caminhos solicitados (path_depth_variance) e um tamanho de carga útil menor (payload_size_log_average). Por “profundidade do caminho”, entendemos o número de barras na URL solicitada (portanto, “website.com” tem profundidade de caminho igual a zero, e “website.com/page1/page2” tem profundidade de caminho igual a dois); e por “tamanho da carga útil”, entendemos o tamanho da resposta à solicitação em bytes.
Figura 1: As distribuições dos 17 valores de características normalizadas durante os períodos de ataque (vermelho) e os períodos sem ataque (azul). É possível observar que as distribuições das características são notavelmente diferentes durante os períodos de ataque e sem ataque.
A separação entre os conjuntos de solicitações de ataque e de não ataque pode ser bem visualizada por meio da projeção ao longo das dimensões das características identificadas acima. No espaço tridimensional definido pela profundidade média do caminho, pelo logaritmo médio do tamanho da carga útil e pela razão entre caminhos únicos e solicitações, os conjuntos de solicitações identificados como maliciosos pelo Banjax (vermelho) estão claramente separados daqueles não identificados como maliciosos (azul).
Figura 2: A distribuição dos conjuntos de solicitações ao longo de três das 17 dimensões de características para IPs identificados como maliciosos (vermelho) ou benignos (azul) pelo módulo de bloqueio existente, o Banjax. As características mostradas são a profundidade média do caminho, o logaritmo médio do tamanho da carga útil da solicitação e a proporção de caminhos únicos em relação ao total de solicitações, durante cada conjunto de solicitações. A separação entre os IPs maliciosos (vermelho) e benignos (azul) é evidente ao longo dessas dimensões.
Treinamento de um modelo
Um classificador de aprendizado de máquina nos permite definir com mais precisão as diferenças entre comportamentos normais e anormais, além de prever a probabilidade de que um novo conjunto de solicitações provenha de um usuário genuíno. Para este relatório, optamos por treinar uma Isolation Forest; um algoritmo que apresenta bom desempenho em problemas de detecção de novidades e é escalável para grandes conjuntos de dados.
Como algoritmo de detecção de anomalias, a Floresta de Isolamento utilizou como dados de treinamento todo o tráfego direcionado aos sites vietnamitas durante um período normal de duas semanas. Para avaliar seu desempenho, criamos um conjunto de dados de teste separando uma seleção desses dados (que se supõe representar tráfego benigno) e combinando-a com o conjunto de todas as solicitações provenientes de IPs sinalizados pela ferramenta de bloqueio atual da plataforma Deflect, o Banjax (que se supõe representar tráfego malicioso). Há vários parâmetros ajustáveis no algoritmo da Isolation Forest, como o número de árvores na floresta e o nível de contaminação por anomalias nos dados de treinamento. Usando os dados de teste, realizamos uma busca em grade sobre esses parâmetros para otimizar a precisão do modelo.
Reprodução dos ataques
O modelo escolhido para uso neste relatório apresenta uma precisão de 0,90, um recall de 0,86 e um f1-score resultante de 0,88, quando avaliado no conjunto de dados de teste formulado a partir do tráfego do site vietnamita, descrito acima. Se considerarmos os bloqueios do Banjax como verdade absoluta (o que quase certamente não é o caso), isso significa que 90% dos IPs previstos como anômalos pelo Baskerville também foram sinalizados pelo Banjax como maliciosos, e que 88% de todos os IPs sinalizados pelo Banjax como maliciosos também foram identificados como anômalos pelo Baskerville, em todos os ataques considerados no relatório vietnamita. Isso é demonstrado visualmente no gráfico abaixo, que mostra a sobreposição entre a sinalização do Banjax e a previsão do Baskerville (-1 indica malicioso e +1 indica benigno). Pode-se observar que o Baskerville identifica quase todos os IPs detectados pelo Banjax e, além disso, sinaliza uma fração dos IPs não banidos pelo Banjax.
Figura 3: A sobreposição entre os resultados do Banjax (eixo x) e os resultados da previsão do Baskerville (coloração). Quando a sinalização do Banjax é -1 e a cor da previsão é vermelha, tanto o Banjax quanto o Baskerville concordam que o conjunto de solicitações é malicioso. Quando o sinalizador do Banjax é +1 e a cor da previsão é azul, ambos os módulos concordam que o conjunto de solicitações é benigno. A pequena fatia azul, em que o sinalizador do Banjax é -1, e a fatia vermelha maior, em que o sinalizador do Banjax é +1, indicam conjuntos de solicitações sobre os quais os módulos não concordam.
O desempenho do modelo pode ser detalhado pelos diferentes períodos de ataque. O gráfico de barras agrupadas abaixo compara o número de bloqueios do Banjax (vermelho) com o número de anomalias do Baskerville (verde). Em geral, o Baskerville identifica um número muito maior de conjuntos de solicitações como maliciosos do que o Banjax, com exceção do ataque de 17 de abril, no qual o Banjax detectou um número ligeiramente maior de IPs do que o Baskerville. A diferença entre os dois sistemas de mitigação é particularmente pronunciada nos ataques de 13 e 15 de junho, nos quais o Banjax praticamente não identificou nenhum IP malicioso, enquanto o Baskerville identificou uma alta proporção de IPs maliciosos.
Figura 4: Os veredictos do Banjax (colunas à esquerda) e do Baskerville (colunas à direita) nos seis períodos de ataque. Os componentes em vermelho/verde mostram o número de conjuntos de solicitações que o Banjax/Baskerville classificaram como maliciosos, enquanto os componentes em azul/roxo mostram o número que eles classificaram como benignos. O fato de as barras verdes serem, em quase todos os casos, mais altas do que as barras vermelhas indica que o Baskerville identifica mais tráfego como malicioso do que o Banjax.
Essa análise destaca a questão da validação do modelo. Percebe-se que o Baskerville identifica mais conjuntos de solicitações como maliciosos do que o Banjax, mas isso indica que o Baskerville é sensível demais a comportamentos anômalos ou que o Baskerville está apresentando melhor desempenho do que o Banjax? Para ter certeza e avaliar adequadamente o desempenho do Baskerville, é necessário um grande conjunto de teste com dados rotulados.
Se analisarmos os valores médios das características nos diferentes ataques, percebe-se que os ataques de 13 e 15 de junho (os pontos vermelhos e azuis, respectivamente, na figura abaixo) se destacam do tráfego normal por apresentarem uma profundidade média de caminho (path_depth_average)muito inferior ao normal, e uma taxa de respostas com código 400 (response4xx_to_request_ratio) muito mais alta do que o normal, o que pode ter contribuído para que o Baskerville identificasse uma grande proporção de seus conjuntos de solicitações como maliciosos. Como uma baixa profundidade média do caminho (por exemplo, muitas solicitações feitas para ‘/’) e uma alta taxa de código de resposta 400 (por exemplo, muitas solicitações para páginas inexistentes) são indicativas de um IP se comportando de forma maliciosa, isso pode sugerir que as previsões do Baskerville foram válidas nesses casos. No entanto, são necessários mais dados rotulados para que possamos ter certeza sobre essa avaliação.
Figura 5: Distribuição dos valores médios das características durante os dois períodos de ataque (vermelho, azul) nos quais o Baskerville identificou uma alta proporção de IPs maliciosos, mas o Banjax não. Esses valores são comparados aos valores médios das características durante um período normal de duas semanas (verde).
Colocando o Baskerville em ação
A reprodução dos ataques vietnamitas demonstra que é possível ao mecanismo Baskerville identificar ataques cibernéticos na plataforma Deflect em tempo real. Enquanto o Banjax mitiga ataques usando um conjunto de regras estáticas escritas por humanos que descrevem como é o tráfego anormal, ao descrever de forma abrangente como o tráfegonormal se comporta, o classificador Baskerville é capaz de identificar novos tipos de comportamento malicioso nunca antes observados.
Embora o desempenho da Isolation Forest na identificação dos ataques vietnamitas seja promissor, precisaríamos de um nível mais alto de precisão antes que o mecanismo Baskerville seja usado para bloquear automaticamente o acesso de IPs aos sites do Deflect. A precisão do modelo pode ser aprimorada aumentando a quantidade de dados com os quais ele é treinado e realizando engenharia de recursos e ajuste de parâmetros adicionais. No entanto, para avaliar com precisão sua capacidade, precisamos de um grande conjunto de dados de teste rotulados, mais completo do que o oferecido pelos logs do Banjax. Para isso, propomos primeiro implantar o Baskerville em uma fase de desenvolvimento, durante a qual os endereços IP suspeitos de serem maliciosos receberão um desafio de Captcha, em vez de serem banidos de forma definitiva. Os resultados desses desafios podem ser adicionados ao corpus de dados rotulados, fornecendo feedback sobre o desempenho do Baskerville.
Além das aplicações do Baskerville para mitigação de ataques na plataforma Deflect, ao agrupar os logs recebidos por host e IP em conjuntos de solicitações e extrair características desses conjuntos, criamos uma nova maneira de visualizar e analisar os ataques após sua ocorrência. Podemos comparar ataques não apenas pelos endereços IP envolvidos, mas também pelo tipo de comportamento exibido. Isso abre novas possibilidades para conectar ataques díspares e investigar os agentes por trás deles.
E agora?
O futuro proposto para o monitoramento do Deflect é o Centro de Compartilhamento e Análise de Informações do Deflect Labs (DL-ISAC). A ideia subjacente a este projeto, resumida no esquema abaixo, é dividir o mecanismo Baskerville em componentes separados: o Módulo de Usuário e o Clearinghouse (responsáveis pelo processamento de logs e pelo desenvolvimento de modelos, respectivamente), para permitir uma separação completa dos dados pessoais da modelagem centralizada. Os usuários processariam seus próprios logs da web localmente e enviariam vetores de características (sem detalhes de IP e do site hospedeiro) para receber uma previsão. Isso permite o compartilhamento de ameaças sem comprometer informações de identificação pessoal (PII). Além disso, essa separação permitiria a adoção do DL-ISAC por uma gama muito mais ampla de clientes do que os sites hospedados pelo Deflect atualmente atendidos. Aumentar a base de usuários desse software também aumentará a quantidade de dados de navegação que podemos coletar e, consequentemente, a robustez dos modelos que podemos treinar.
O Baskerville é um projeto de código aberto, com seu primeiro lançamento previsto para o próximo trimestre. Esperamos que isso represente o primeiro passo para possibilitar uma nova era de compartilhamento e mitigação de informações sobre ameaças por meio de crowdsourcing, capacitando os usuários da internet a manter seu conteúdo online em um ambiente da web cada vez mais hostil.
Figura 6: Um esquema da estrutura proposta para o DL-ISAC. A infraestrutura é dividida em um terminal de usuário para processamento de logs e um centro de coordenação para previsão, análise e desenvolvimento de modelos.
Consideração final: viés na IA
Em todas as aplicações de aprendizado de máquina e IA, é importante considerar as fontes de viés algorítmico e como usuários marginalizados podem ser discriminados involuntariamente pelo sistema. No contexto do tráfego da web, devemos levar em conta as variações no comportamento de navegação entre diferentes subgrupos de usuários válidos da internet (que não sejam bots) e garantir que o Baskerville não penalize populações sub-representadas. Por exemplo, devem ser implementadas medidas para evitar que usuários desfavorecidos, com conexões de internet mais lentas, sejam banidos porque seu comportamento de solicitação difere daquele dos usuários que se beneficiam de internet de alta velocidade. A equipe da Deflect Labs está comprometida em priorizar essas considerações no desenvolvimento futuro do DL-ISAC.






