Melissa Alvarez

Detecte a atividade do algoritmo de geração de domínio (DGA) com a nova integração do Kibana

Adicionamos um pacote de detecção de DGA ao aplicativo Integrações no Kibana. Com um único clique, você pode instalar e começar a usar o modelo DGA e os ativos associados, incluindo configurações de pipeline de ingestão, trabalhos de detecção de anomalias e regras de detecção.

Detecte a atividade do algoritmo de geração de domínio (DGA) com a nova integração do Kibana

Procurando uma maneira de ajudar a proteger sua rede contra possíveis ataques de algoritmo de geração de domínio (DGA)? Não procure mais — um pacote de detecção de DGA agora está disponível no aplicativo Integrações no Kibana.

Com um único clique, os usuários podem instalar e começar a usar o modelo DGA e os ativos associados, incluindo configurações de pipeline de ingestão, trabalhos de detecção de anomalias e regras de detecção. Continue lendo para obter instruções passo a passo sobre como instalar e habilitar completamente o pacote DGA.

[Artigo relacionado: Automatizando a resposta rápida das proteções de segurança a malware]

O que é um DGA?

DGA é uma técnica empregada por muitos autores de malware para garantir que a infecção de uma máquina cliente evite medidas defensivas. O objetivo dessa técnica é ocultar a comunicação entre uma máquina cliente infectada e o servidor de comando e controle (C&C ou C2) usando centenas ou milhares de nomes de domínio gerados aleatoriamente, dos quais um acabará sendo resolvido para o endereço IP de um servidor C&C.

Para visualizar mais facilmente o que está ocorrendo em um ataque de DGA, imagine por um momento que você seja um soldado em um campo de batalha. Como muitos soldados, você tem um equipamento de comunicação que usa frequências de rádio para comunicação. Seu inimigo pode tentar interromper suas comunicações interferindo nas suas frequências de rádio. Uma maneira de conceber uma contramedida para isso é por salto de frequência, usando um sistema de rádio que muda as frequências muito rapidamente durante o curso de uma transmissão. Para o inimigo, as mudanças de frequência parecem ser aleatórias e imprevisíveis, dificultando a interferência.

Os DGAs são como um canal de comunicação de frequência variável para malware. Eles mudam de domínio com tanta frequência que bloquear o canal de comunicação C2 do malware se torna inviável por meio do bloqueio de nome de domínio DNS. Há simplesmente muitos nomes DNS gerados aleatoriamente para identificá-los e bloqueá-los com sucesso.

Essa técnica surgiu no mundo do malware com força em 2009, quando o worm “Conficker” começou a usar um número muito grande de nomes de domínio gerados aleatoriamente para comunicação. Os autores do worm desenvolveram essa contramedida depois que um consórcio de pesquisadores de segurança interrompeu o canal C2 do worm, fechando os domínios DNS que ele estava usando para comunicação. A mitigação de DNS também foi realizada no caso do surto global do ransomware 2017 WannaCry.

Para começar

Lançamos o modelo e os ativos associados — incluindo pipelines, configurações de detecção de anomalias e regras de detecção — para o aplicativo Integrações no Kibana a partir da versão 8.0. Manteremos esse formato daqui para frente.

Se você não tem um cluster do Elastic Cloud, mas gostaria de começar a experimentar o pacote ProblemChild lançado, você pode iniciar uma avaliação gratuita de 14 dias do Elastic Cloud.

Agora veremos as etapas para colocar o DGA em funcionamento no seu ambiente em questão de minutos usando o pacote DGA lançado.

Etapa 1: Instalando os ativos do pacote

No Kibana, o aplicativo Integrações agora inclui o pacote de detecção de DGA. Para instalar os ativos, clique no botão Instalar ativos DGA na guia Configurações . Isso instalará todos os artefatos necessários para usar o modelo DGA para gerar alertas quando a atividade DGA for detectada nos dados da sua rede.

Após a conclusão da instalação, você pode navegar até Gerenciamento de pilha > Pipelines de ingestão e ver que o <version-number>-ml\_dga\_ingest\_pipeline foi instalado e agora pode ser usado para enriquecer os dados de ingestão recebidos. O pipeline de ingestão aproveita o <version-number>-ml\_dga\_inference\_pipeline para fazer isso.

Da mesma forma, o modelo DGA instalado agora pode ser visto em Aprendizado de máquina > Gerenciamento de modelos > Modelos treinados.

Etapa 2: Enriquecendo seus dados

Agora você está pronto para ingerir seus dados usando o pipeline de ingestão. O modelo supervisionado analisará e enriquecerá os dados recebidos contendo eventos DNS com uma pontuação DGA.

Este pipeline foi projetado para trabalhar com dados que contêm eventos DNS — como dados de packetbeat — que contêm estes campos ECS: dns.question.name e dns.question.registered_domain. Você pode adicionar o pipeline de ingestão instalado a um Elastic Beat adicionando uma configuração simples.

Se você já tiver um pipeline de ingestão associado aos seus índices, poderá usar um processador de pipeline para integrar o pipeline de ingestão do DGA ao seu pipeline existente.

Você também vai querer adicionar os seguintes mapeamentos à batida escolhida:

{
  "properties": {
    "ml_is_dga": {
      "properties": {
        "malicious_prediction": {
          "type": "long"
        },
        "malicious_probability": {
          "type": "float"
        }
      }
    }
  }
}

Você pode fazer isso em Gerenciamento de pilha > Gerenciamento de índice > Modelos de componente. Os modelos que podem ser editados para adicionar componentes personalizados serão marcados com o sufixo @custom . Edite o modelo de componente @custom para seu Elastic Beat colando o blob JSON acima no flyout Carregar JSON .

Agora você deve ver que o modelo enriquece os eventos DNS recebidos com os seguintes campos:

  • Ml_is_dga.malicious_prediction: Um valor de “1” indica que o domínio DNS é previsto como resultado de atividade maliciosa de DGA. Um valor de “0” indica que se prevê que seja benigno.

  • Ml_is_dga.malicious_probability: Uma pontuação de probabilidade, entre 0 e 1, de que o domínio DNS é resultado de atividade maliciosa de DGA.

Se você quiser uma maneira imediata de testar se o pipeline de ingestão está funcionando conforme o esperado com seus dados, você pode usar alguns documentos de exemplo com a API de simulação de pipeline e confirmar que vê os campos ml_is_dga .

Etapa 3: Executando a detecção de anomalias

O pacote inclui um trabalho de detecção de anomalias pré-configurado. Este trabalho de aprendizado de máquina (ML) examina as pontuações DGA produzidas pelo modelo DGA supervisionado e procura padrões anômalos de pontuações anormalmente altas para um endereço IP de origem específico. Esses eventos recebem uma pontuação de anomalia.

Para executar este trabalho em seus dados enriquecidos, vá para Aprendizado de máquina > Detecção de anomalias. Ao criar um trabalho usando o assistente de trabalho, você verá uma opção para Usar trabalhos pré-configurados com um cartão para DGA. Após selecionar o cartão, você verá o trabalho de detecção de anomalias pré-configurado que pode ser executado. Observe que esta tarefa só é útil para índices que foram enriquecidos pelo pipeline de ingestão.

Etapa 4: Habilitando as regras

Para maximizar o benefício da estrutura DGA, ative as regras de detecção instaladas. Eles são acionados quando certas condições para o modelo supervisionado ou tarefa de detecção de anomalias são satisfeitas. A lista completa das regras instaladas pode ser encontrada na página Visão geral do próprio pacote ou na versão mais recente de detecções experimentais.

Para aproveitar totalmente o trabalho de detecção de anomalias pré-configurado incluído, ative a regra complementar: Atividade potencial de DGA. Isso criará um alerta baseado em anomalias na página de detecção no aplicativo de segurança.

O trabalho de detecção de anomalias pré-configurado e a regra complementar estão disponíveis nas versões do repositório de regras de detecção. Para habilitar e usar as regras instaladas, navegue até Segurança > Regras e selecione Carregar regras de pré-compilação e modelos de linha do tempo do Elastic.

Get in touch

Gostaríamos que você experimentasse o ProblemChild e nos desse seu feedback enquanto trabalhamos para adicionar novos recursos a ele. Caso você tenha algum problema durante o processo, entre em contato conosco no canal da comunidade no Slack, nos fóruns de discussão ou até mesmo em nosso repositório de detecções aberto.

Você sempre pode experimentar a versão mais recente do Elasticsearch Service no Elastic Cloud e acompanhar este blog para configurar a estrutura ProblemChild em seu ambiente para seus dados de eventos de processo do Windows. E aproveite nosso treinamento de Início Rápido para se preparar para o sucesso. Comece hoje mesmo seu teste gratuito do Elastic Cloud para ter acesso à plataforma. Boa experimentação!

Compartilhe este artigo