Um exemplo de algoritmo de geração de domínio é o DGA do worm Conficker, que foi usado para gerar um grande número de nomes de domínio exclusivos para sua infraestrutura de comando e controle.
Um algoritmo de geração de domínio (DGA) é um programa que gera um grande número de novos nomes de domínio. Cibercriminosos e operadores de botnet usam algoritmos de geração de domínio para alterar frequentemente os domínios que usam para iniciar ataques de malware. Essa técnica permite que os invasores evitem soluções de detecção de malware que bloqueiam nomes de domínio específicos e endereços IP estáticos.
Por que os cibercriminosos usam algoritmos de geração de domínio?
Os agentes de ameaça usam malware para infectar um grande número de computadores ou dispositivos dentro de ambientes de TI corporativos. Os invasores podem emitir comandos para essas máquinas ou bots infectados por malware e coletar informações deles usando um servidor de comando e controle (servidor C2), que normalmente também é uma máquina hospedada em um sistema comprometido. Essa rede de bots, ou botnet, pode ser usada para propagar spam, roubar dados confidenciais ou realizar campanhas de negação de serviço distribuídas (DDoS) e outros ataques cibernéticos.
Para evitar essas atividades mal-intencionadas, os serviços e soluções de cibersegurança tentam identificar os endereços IP de máquinas e websites envolvidos na comunicação entre servidores C2 e dispositivos infectados, bloqueando qualquer tráfego que vá ou venha desses endereços IP com base na inteligência de ameaças de um provedor de segurança de rede. Para continuar seus ataques, os cibercriminosos devem trocar de domínio continuamente para evitar a detecção por listas de bloqueio, filtros de assinatura, gateways de segurança, sistemas de reputação, sistemas de prevenção de invasão e outras tecnologias de segurança.
Usando DGAs para gerar um grande número de nomes de domínio, os cibercriminosos podem rapidamente alternar domínios em um ritmo que dificulta o acompanhamento pelos mecanismos de detecção.
Como funcionam os algoritmos de geração de domínio?
Os algoritmos de geração de domínio são aplicações que usam sequências de caracteres para produzir rapidamente milhares de nomes de domínio que podem servir como ponto de encontro onde os invasores podem se comunicar com servidores C2. Esses algoritmos podem gerar dezenas de milhares de nomes de domínio DGA todos os dias, a maioria sem registro. Os invasores usam os domínios não registrados para ocultar os registrados, dificultando a detecção por mecanismos de inspeção que usam assinaturas e reputação de IP. O algoritmo é executado nos lados do cliente e da origem. Ele começa com uma semente conhecida tanto pelo invasor quanto pelo servidor C2, permitindo que ambos saibam quais domínios serão gerados e qual domínio será registrado para servir como canal de comunicação para malware. Se esse domínio for identificado por sistemas de segurança e bloqueado, os invasores poderão rapidamente mudar para o próximo domínio para manter contato com o servidor C2, seguindo um padrão que tanto o invasor quanto o malware ou o botnet entendem.
Quais são os tipos de DGA?
Os invasores desenvolveram diferentes tipos de DGAs para aumentar sua capacidade de criar domínios mal-intencionados e evitar a detecção.
- Os DGAs geradores de números pseudoaleatórios (PRNG) são a metodologia mais comum, usando uma semente aleatória (geralmente a data e a hora do sistema) para gerar sequências de domínio que o invasor e o malware podem prever.
- DGAs baseados em caracteres usam uma semente aleatória para gerar nomes de domínio com letras ou números. Esses DGAs são os mais fáceis de detectar.
- DGAs baseados em dicionário combinam aleatoriamente palavras para gerar domínios que parecem legíveis e são mais desafiadores para detecção pelos sistemas de segurança, pois parecem domínios legítimos.
- Os DGAs de alta colisão são projetados para se parecerem com nomes de domínio legítimos e são combinados com domínios de nível superior (TLDs) como .com, .net e .org. Com DGAs de alta colisão, há uma maior probabilidade de que o domínio produzido já esteja registrado, causando uma "colisão" que pode adicionar uma camada de confusão ao processo de detecção.
Como as organizações podem detectar domínios de DGA?
As etapas que as organizações seguem para evitar malware também podem impedir DGAs. Como os algoritmos de geração de domínio são usados para propagar malware, a maioria das soluções antimalware oferecerá defesas básicas contra essas ameaças. Entre as práticas recomendadas estão:
- Adotar uma cadência ideal de aplicação de patches para manter o software atualizado, evitando que os invasores explorem vulnerabilidades de software para penetrar defesas e instalar malware.
- Realizar treinamento de conscientização sobre segurança para ajudar os usuários a reconhecer links, websites e e-mails potencialmente mal-intencionados que podem fazer parte de um ataque de malware.
- Usar a filtragem de URL para impedir que os usuários acessem websites ou cliquem em links conhecidos por serem mal-intencionados.
- Implantar soluções de segurança para bloquear a capacidade dos usuários de abrir anexos mal-intencionados ou ativar macros em documentos anexados.
- Escolher soluções de segurança de DNS que possam ajudar na detecção de DGA identificando e bloqueando a comunicação entre servidores C2 e malware usando tráfego de DNS, que geralmente pode passar por firewalls sem inspeção.
- Implantar a tecnologia anti-DGA que usa machine learning e big data para identificar atividades irregulares e derrubar websites mal-intencionados.
Perguntas frequentes (FAQ)
Três fatores que podem ser usados em algoritmos de geração de domínio são tempo, propagação aleatória e cálculos matemáticos.
DGAs são úteis para os criminosos virtuais porque permitem que eles alterem constantemente os domínios usados para comunicação com máquinas infectadas, dificultando que os pesquisadores de segurança e a aplicação da lei rastreiem e desfaçam sua infraestrutura.
A principal diferença entre um algoritmo de geração de domínio e uma lista de palavras é que um DGA gera nomes de domínio por algoritmo com base em determinados fatores, enquanto uma lista de palavras é uma lista estática de nomes de domínio predeterminados que podem ser usados por um malware ou botnet para fins de comunicação. As DGAs fornecem um nível mais alto de variabilidade e imprevisibilidade em comparação com as listas de palavras.
Por que os clientes escolhem a Akamai
A Akamai potencializa e protege a vida online. As principais empresas do mundo escolhem a Akamai para criar, proporcionar e proteger suas experiências digitais, ajudando bilhões de pessoas a viver, trabalhar e se divertir todos os dias. A Akamai Connected Cloud, uma plataforma de nuvem e edge massivamente distribuída, aproxima os apps e as experiências dos usuários e afasta as ameaças.