Nem todo profissional de segurança cibernética acha que vale a pena o esforço para descobrir exatamente quem é o responsável pelo malware que atinge a sua empresa. O algoritmo típico de investigação de incidentes segue este fluxo: o analista encontra um arquivo suspeito → se o antivírus não o detecta, ele o executa em um sandbox → confirma atividade maliciosa → adiciona o hash à lista de bloqueio → faz uma pausa para o café. Essas são as etapas principais adotadas por muitos profissionais de segurança cibernética, especialmente quando estão sobrecarregados com alertas ou não têm as habilidades forenses necessárias para desvendar um ataque complexo passo a passo. No entanto, ao lidar com um ataque direcionado, essa abordagem inevitavelmente leva a um desastre, e aqui está o motivo.
Se um invasor estiver jogando para valer, ele raramente se apegará a um único vetor de ataque. Há uma boa chance de que o arquivo malicioso já tenha cumprido seu papel em um ataque em várias etapas e hoje seja praticamente inútil para o invasor, que já avançou na infraestrutura corporativa e passou a operar com um conjunto completamente diferente de ferramentas. Para eliminar a ameaça de uma vez por todas, a equipe de segurança precisa detectar e neutralizar toda a cadeia de ataque.
Mas como isso pode ser feito de forma rápida e eficaz antes que os invasores consigam causar algum dano real? Uma maneira é analisar o contexto a fundo. Ao analisar um único arquivo, um especialista pode identificar com precisão o grupo que está atacando a empresa, entender rapidamente as ferramentas e táticas que ele utiliza e, em seguida, varrer a infraestrutura em busca de ameaças relacionadas. Existem muitas ferramentas de inteligência de ameaças disponíveis para isso, mas mostrarei como isso funciona usando nosso Portal do Kaspersky Threat Intelligence.
Um exemplo prático da importância da atribuição
Vamos supor que carregamos um malware descoberto em um portal de inteligência de ameaças e detectamos que ele geralmente é usado, digamos, pelo grupo MysterySnail. O que isso realmente significa? Vejamos as informações disponíveis:
Em primeiro lugar, esses invasores têm como alvo instituições governamentais na Rússia e na Mongólia. Trata-se de um grupo chinês que normalmente se concentra em espionagem. De acordo com o seu perfil, eles se estabelecem em uma infraestrutura e permanecem escondidos até encontrarem algo que valha a pena roubar. Também sabemos que eles normalmente exploram a vulnerabilidade CVE-2021-40449. Que tipo de vulnerabilidade é essa?
Como podemos ver, esta é uma vulnerabilidade de escalonamento de privilégios, o que significa que ela é usada depois que os hackers já se infiltraram em uma infraestrutura. Essa vulnerabilidade tem uma classificação de gravidade alta e é muito explorada por aí. Então, qual software é realmente vulnerável?
Já sei: o Microsoft Windows. Hora de verificar novamente se o patch que corrige essa vulnerabilidade foi realmente instalado. Muito bem. Além da vulnerabilidade, o que mais sabemos sobre os hackers? Descobrimos que eles têm uma maneira peculiar de verificar as configurações de rede: eles se conectam ao site público 2ip.ru:
Portanto, faz sentido adicionar uma regra de correlação ao SIEM para sinalizar esse tipo de comportamento.
Agora é hora de estudar esse grupo mais a fundo e reunir indicadores adicionais de comprometimento (IoCs) para o monitoramento SIEM, bem como regras YARA prontas para uso (descrições de texto estruturadas usadas para identificar malware). Isso nos ajudará a rastrear todos os tentáculos desse kraken que podem já ter se infiltrado em uma infraestrutura corporativa e garantir que possamos interceptá-los rapidamente se eles tentarem uma nova invasão.
O Portal do Kaspersky Threat Intelligence fornece vários relatórios adicionais sobre ataques do MysterySnail, cada um contendo uma lista de IoCs e regras YARA. As regras YARA podem ser usadas para verificar todos os terminais e os IoCs podem ser adicionados ao SIEM para um monitoramento constante. Vamos verificar os relatórios para ver como esses invasores lidam com a exfiltração de dados e que tipo de dados eles geralmente buscam. Agora podemos realmente tomar medidas para impedir o ataque.
E assim, MysterySnail, a infraestrutura agora está ajustada para encontrar você e fornecer uma resposta imediata. Chega de espionagem!
Métodos de atribuição de malware
Antes de abordar métodos específicos, é preciso esclarecer um ponto: para que a atribuição funcione de fato, a inteligência de ameaças precisa se basear em um conhecimento amplo e profundo das táticas, técnicas e procedimentos (TTPs) usados por agentes de ameaças. O escopo e a qualidade desses bancos de dados podem variar bastante entre os fornecedores. No nosso caso, antes mesmo da criação da ferramenta, passamos anos rastreando grupos conhecidos em diversas campanhas e registrando seus TTPs, e seguimos atualizando esse banco de dados até hoje.
Com um banco de dados TTP instalado, os seguintes métodos de atribuição podem ser implementados:
- Atribuição dinâmica: identificar TTPs através da análise dinâmica de arquivos específicos e, em seguida, fazer a referência cruzada desse conjunto de TTPs com aqueles de grupos de hackers conhecidos
- Atribuição técnica: encontrar sobreposições de códigos entre arquivos específicos e fragmentos de código conhecidos por serem usados por grupos específicos de hackers no malware deles
Atribuição dinâmica
A identificação de TTPs durante a análise dinâmica é relativamente simples de implementar; de fato, essa funcionalidade já faz parte dos sandboxes modernos há bastante tempo. Naturalmente, todos os nossos sandboxes também identificam TTPs durante a análise dinâmica de uma amostra de malware:
O foco desse método está em categorizar a atividade do malware usando a estrutura MITRE ATT&CK. Um relatório de sandbox normalmente contém uma lista de TTPs detectados. Embora esses dados sejam muito úteis, eles não são suficientes para fazer uma atribuição completa a um grupo específico. Tentar identificar os perpetradores de um ataque usando apenas esse método é muito parecido com a antiga parábola indiana dos cegos e do elefante, em que pessoas com os olhos vendados tocam partes diferentes de um elefante e tentam adivinhar o que está na frente delas. Aquele que toca a tromba pensa que é uma píton; aquele que toca o flanco tem certeza de que é uma parede, e assim por diante.
Atribuição técnica
O segundo método de atribuição ocorre por meio da análise estática de código (embora tenha em mente que esse tipo de atribuição é sempre problemático). A ideia principal aqui é agrupar até mesmo arquivos de malware ligeiramente sobrepostos com base em características exclusivas específicas. Antes que a análise possa começar, a amostra de malware deve ser desmontada. O problema é que, juntamente com os bits informativos e úteis, o código recuperado contém muito ruído. Se o algoritmo de atribuição considerar esse lixo não informativo, qualquer amostra de malware acabará se parecendo com um grande número de arquivos legítimos, impossibilitando a atribuição de qualidade. Por outro lado, tentar atribuir malware apenas com base em fragmentos úteis enquanto se usa um método matemático primitivo resultará em um aumento acentuado da taxa de falsos positivos. Além disso, qualquer resultado de atribuição deve ser verificado quanto a semelhanças com arquivos legítimos, e a qualidade dessa verificação geralmente depende muito dos recursos técnicos do fornecedor.
A abordagem da Kaspersky com relação à atribuição
Nossos produtos utilizam um banco de dados exclusivo de malware associado a grupos específicos de hackers, construído ao longo de mais de 25 anos. Além disso, usamos um algoritmo de atribuição patenteado com base na análise estática de códigos desmontados. Isso nos permite determinar com alta precisão, e até mesmo uma porcentagem de probabilidade específica, o quanto um arquivo analisado se assemelha às amostras conhecidas de um grupo específico. Dessa forma, podemos formar um veredicto bem fundamentado que atribui o malware a um agente de ameaça específico. Os resultados são então cruzados com um banco de dados de bilhões de arquivos legítimos para filtrar falsos positivos; se uma correspondência for encontrada com qualquer um deles, o veredicto de atribuição é ajustado de acordo. Essa abordagem é a base do Kaspersky Threat Attribution Engine, que mantém o serviço de atribuição de ameaças em funcionamento no Portal do Kaspersky Threat Intelligence.
inteligência de ameaças
Dicas