Detecção de Botnet DIY: técnicas e desafios
Botnets existem há mais de duas décadas e, com o surgimento da Internet das Coisas (IoT), eles se espalharam ainda mais para dispositivos que ninguém imaginava que iriam: roteadores, dispositivos móveis e até Torradeiras.
algumas botnets são legiões de bot-soldiers esperando por um comando para atacar um servidor de destino, geralmente para sobrecarregar o servidor com um ataque distribuído de negação de serviço (DDoS). Outras botnets visam dispositivos específicos roubando senhas ou minerando criptomoedas. Cryptocurrency de mineração, em particular, tem sido uma forma dramática ameaça crescente para as organizações recentemente, com botnets como Coinhive e CryptoLoot permitindo que os cibercriminosos para fazer o máximo de us $100 milhões por ano, em detrimento das vítimas poder de computação. Smominru, entre as maiores botnets de mineração de criptomoedas, infectou mais de meio milhão de máquinas usando o infame exploit EternalBlue vazado da NSA.
para prevenir infecções por botnet, as organizações devem ser capazes de detectá-las. Mas a detecção de botnet não é fácil. Vamos explorar algumas das principais técnicas e desafios na detecção de botnet.
métodos para detecção de Botnet
então, o que é uma botnet? Simplificando, é um cluster de bots — computadores e dispositivos comprometidos — que executam comandos fornecidos pelo proprietário da botnet. Normalmente, o proprietário da botnet dedicará um servidor de comando e controle (C2), um servidor comprometido para se comunicar com os bots, geralmente por meio de comandos de bate-papo de retransmissão da Internet. O proprietário da botnet usa o servidor C2 para solicitar botnets para executar ataques, sejam ataques DDoS, roubo de dados, roubo de identidade ou outro tipo de ataque. Assim, a arma fumegante que aponta para uma botnet é seu servidor C2.
infelizmente, encontrar o C2 geralmente não é uma tarefa simples. Muitos comandos de botnet emergem de vários servidores ou assumem formas ocultas, mascarando os comandos maliciosos como atividades inofensivas, como Tráfego de rede Tor, tráfego de mídia social, tráfego entre serviços ponto a ponto ou algoritmos de geração de domínio. Para complicar ainda mais as coisas, os comandos costumam ser muito sutis, dificultando a detecção de anomalias.
um método para tentar detectar C2s está quebrando e analisando o código de malware. As organizações podem tentar desmontar o código compilado, a partir do qual às vezes podem identificar a fonte raiz dos comandos da botnet. No entanto, como os criadores e administradores de botnet estão cada vez mais usando criptografia integrada, essa técnica é cada vez menos eficaz.
geralmente, a detecção de C2 requer visibilidade da comunicação entre um servidor C2 e seus bots, mas apenas soluções de segurança que protegem especificamente os servidores C2 terão esse tipo de visibilidade. Uma abordagem mais comum para detectar botnets é rastrear e analisar os próprios ataques — nos quais as soluções de segurança padrão fornecem visibilidade — e determinar quais ataques se originaram de botnets.
ao analisar as tentativas de exploração, existem algumas indicações possíveis para uma botnet. Por exemplo, se os mesmos endereços IP atacarem os mesmos sites, ao mesmo tempo, usando as mesmas cargas úteis e padrões de ataque, há uma boa chance de que eles façam parte de uma botnet. Isso é especialmente verdadeiro se muitos IPs e sites estiverem envolvidos. Um exemplo proeminente é uma tentativa de DDoS por uma botnet em um serviço da web.
falsos positivos
a probabilidade de falsos positivos torna a detecção de botnet particularmente difícil. Algumas cargas úteis são amplamente utilizadas, aumentando a probabilidade de um padrão que ocorre aleatoriamente provocando um falso positivo. Além disso, os invasores podem alterar seus endereços IP usando uma rede privada virtual ou um proxy, fazendo com que pareça que muitos invasores ou bots estão envolvidos quando há realmente apenas um.
Ferramentas de Hacking e scanners de vulnerabilidade também se comportam de forma semelhante o suficiente para botnets para retornar falsos positivos. Isso ocorre porque as ferramentas de hacking geram as mesmas cargas úteis e padrões de ataque, e muitos hackers as usam, independentemente da cor do chapéu. E, se jogadores diferentes realizarem um teste de penetração nos mesmos sites ao mesmo tempo, pode parecer um ataque de botnet.
as organizações geralmente podem identificar falsos positivos pesquisando a carga útil e referenciando qualquer informação documentada em torno dela. Outra técnica envolve simplesmente coletar qualquer informação prontamente disponível dentro da solicitação bruta na solução de segurança. Por exemplo, se um scanner de vulnerabilidade for o culpado, a maioria das soluções de segurança revelará isso identificando-o, especialmente se for um dos scanners de vulnerabilidade mais comuns.Falsos positivos são um desafio inevitável na detecção de botnet, dada a enorme quantidade de incidentes potenciais; pesquisas recentes mostram que 27% dos profissionais de TI recebem mais de 1 milhão de alertas de segurança todos os dias, enquanto 55% recebem mais de 10.000. Mas com as técnicas e a diligência certas, as organizações podem discernir o tráfego inofensivo do tráfego malicioso e orientado por botnet.
Conteúdo Relacionado:
- 7 Não-Computador Hacks Que Nunca Deve Acontecer
- Novo Botnet Mostra a Evolução da Tecnologia e da Cultura Criminosa
- Paul Vixie Em Segurança do DNS & Botnet Quedas (vídeo)
- Anti-Botnet Guia Destina-se a Combater Automatizado de Ameaças
Junte-Escuro Leitura LIVE para dois cibersegurança cimeiras da Interop 2019. Aprenda com os especialistas em segurança de TI mais experientes do setor. Confira a agenda Interop aqui.