Um Domínio de Geração de Algoritmo (DGA) é um programa ou sub-rotina que fornece malware com novos domínios na demanda ou na mosca.
história
Kraken foi a primeira família de malware a usar um DGA (em 2008) que pudemos encontrar. Mais tarde naquele ano, o Conficker tornou a DGA muito mais famosa.
de que serve?
a técnica DGA está em uso porque o malware que depende de um domínio fixo ou endereço IP é rapidamente bloqueado, o que, em seguida, dificulta as operações. Então, ao invés de trazer uma nova versão do malware ou configurar tudo de novo em um novo servidor, o malware muda para um novo domínio em intervalos regulares.Um exemplo de DGA na prática é servidores C &C para botnets e ransomware. Se conseguíssemos bloqueá-los ou eliminá-los, cortaríamos a ligação entre as vítimas e o actor da ameaça. Bots não seria mais capaz de obter novas instruções e máquinas infectadas com ransomware seria incapaz de solicitar chaves de criptografia e enviar dados do Usuário.
a constante mudança do domínio para o servidor C&C também é algumas vezes chamado de “Fluxing domínio” ou “Fluxing rápido”, que na verdade é uma referência a uma técnica mais antiga baseada em abuso do sistema de balanceamento de carga DNS.
mais detalhes sobre como ele funciona
para entender melhor como esses algoritmos funcionam, vamos olhar para os requisitos que eles têm que cumprir:
- as rotinas têm de gerar domínios que são previsíveis para ambos os lados da cadeia de comunicação.
- as rotinas têm de ser tão imprevisíveis quanto possível para os investigadores de segurança.
- a taxa de registro de domínio tem que ser baixa, dadas as enormes quantidades de domínios que serão usados.
- a necessidade de velocidade pode ser enorme.
- o processo de Registo tem de ser anónimo ou, pelo menos, indetectável.
para atingir a previsibilidade, ainda que difícil de pesquisar, as rotinas DGA usam alguns blocos de construção:
- de Sementes, a base do elemento
- Um elemento que muda com o tempo
- Domínios de primeiro Nível (TLDs)
Imagem cortesia da Cisco Blog
A semente pode ser uma frase ou a um número. Praticamente qualquer coisa que o ator ameaça pode mudar à vontade (por exemplo, quando eles mudam para uma nova versão), e que pode ser usado em um algoritmo. The seed and the time-based element are combined in an algorithm to create the domain name and this “body” will be combined with one of the available TLDs.
Note que um elemento baseado no tempo não precisa ser algo como a data e a hora. Pode ser outra coisa que varia com o tempo, como por exemplo o tópico trending no Twitter em um determinado país no momento da conexão. Na verdade, algo que é difícil de prever é preferido, uma vez que isso torna mais difícil para os pesquisadores registrar determinados domínios antes do tempo e interceptar o tráfego ou fazer uma aquisição.
outro truque para lançar contramedidas é não usar todos os domínios que o algoritmo produz, mas apenas alguns. Isso irá aumentar drasticamente o número de domínios necessários para se registrar pelos pesquisadores se eles planejam interceptar o tráfego.
quando se trata de TLDs,.xyz, .top, and .a oferta é muito popular neste momento. Isso é devido às razões mencionadas anteriormente: baixos custos e rápida disponibilidade, porque os registradores permitem registros automatizados e anônimos de domínio.
Summary
Domain Generating Algorithms are in use by cybercriminals to prevent their servers from being blacklisted or taken down. O algoritmo produz nomes de domínio aleatórios. A idéia é que duas máquinas que usam o mesmo algoritmo irão entrar em contato com o mesmo domínio em um determinado momento, de modo que elas serão capazes de trocar informações ou obter instruções.
Links
Para mais detalhes técnicos, que podem recomendar: Dissecação de Domínio de Algoritmos de Geração de
E um exemplo: Ameaça em destaque: Hppa/Dyreza: Uma Análise para Descobrir a DGA
Pieter Arntz