Cibersegurança

Dicas de Melhores Práticas de Inteligência de Ameaças

mm
Adicione Unite.AI às suas fontes preferidas no Google

Muitas pessoas dizem que a inteligência de ameaças (TI) é saborosa, mas poucas entendem como cozinhá-la. Existem ainda menos pessoas que sabem quais processos engajar para que a TI funcione e traga lucro. Além disso, um número negligenciável de pessoas sabe como escolher um provedor de feeds, onde verificar um indicador de falsos positivos e se vale a pena bloquear um domínio que seu colega enviou por WhatsApp.

Tivemos duas assinaturas comerciais de APT, dez trocas de informações, cerca de uma dúzia de feeds gratuitos e uma lista extensa de nós de saída da TOR. Também usamos um par de reversores poderosos, scripts master Powershell, um scanner Loki e uma assinatura paga da VirusTotal. Não que um centro de resposta a incidentes de segurança não funcione sem todos esses, mas se você está disposto a capturar ataques complexos, você tem que ir até o fim.

O que me preocupava particularmente era a possibilidade de automação da verificação de indicadores de comprometimento (IOCs). Não há nada tão imoral quanto a inteligência artificial substituir um ser humano em uma atividade que exige pensamento. No entanto, percebi que minha empresa enfrentaria esse desafio mais cedo ou mais tarde, à medida que o número de nossos clientes crescia.

Por vários anos de atividade de TI contínua, eu tropecei em um monte de armadilhas e gostaria de fornecer algumas dicas que ajudarão os iniciantes a evitar erros comuns.

Dica 1. Não coloque muitas esperanças em capturar coisas por hashes: a maioria dos malwares é polimórfica hoje em dia

Os dados de inteligência de ameaças vêm em diferentes formatos e manifestações. Pode incluir endereços IP de centros de comando e controle de botnets, endereços de e-mail envolvidos em campanhas de phishing e artigos sobre técnicas de evasão que os grupos APT estão prestes a começar a usar. Em resumo, essas podem ser coisas diferentes.

Para organizar essa bagunça, David Bianco sugeriu usar o que é chamado de Pirâmide de Dor. Ele descreve uma correlação entre os diferentes indicadores que você usa para detectar um atacante e a quantidade de “dor” que você causará ao atacante se você identificar um IOC específico.

Por exemplo, se você sabe o hash MD5 do arquivo malicioso, ele pode ser detectado facilmente e com precisão. No entanto, não causará muito dor ao atacante, pois adicionar apenas 1 bit de informação ao arquivo mudará completamente seu hash.

Dica 2. Tente usar os indicadores que o atacante encontrará tecnicamente complicados ou caros para mudar

Antecipando a pergunta de como descobrir se um arquivo com um hash dado existe em nossa rede empresarial, direi o seguinte: existem diferentes maneiras. Uma das maneiras mais fáceis é usar uma solução que mantém um banco de dados de hashes MD5 de todos os arquivos executáveis dentro da empresa.

Vamos voltar à Pirâmide de Dor. Em oposição à detecção por valor de hash, é mais produtivo identificar as TTP (táticas, técnicas e procedimentos) do atacante. Isso é mais difícil de fazer e requer mais esforços, mas você causará mais dor ao adversário.

Por exemplo, se você sabe que o grupo APT que visa o seu setor da economia está enviando e-mails de phishing com anexos *.HTA, criar uma regra de detecção que procure por esses anexos de e-mail atingirá o atacante abaixo da cintura. Eles terão que modificar a tática de spam e talvez até gastar dinheiro para comprar exploits de 0 dia ou 1 dia que não são baratos.

Dica 3. Não coloque esperanças excessivas em regras de detecção criadas por outra pessoa, porque você tem que verificar essas regras para falsos positivos e ajustá-las

À medida que você começa a criar regras de detecção, sempre há a tentação de usar regras prontas. Sigma é um exemplo de repositório gratuito. É um formato de métodos de detecção independente de SIEM que permite traduzir regras do idioma Sigma para regras ElasticSearch, Splunk ou ArcSight. O repositório inclui centenas de regras. Parece uma coisa ótima, mas o diabo, como sempre, está nos detalhes.

Vamos dar uma olhada em uma das regras de detecção do mimikatz. Essa regra detecta processos que tentaram ler a memória do processo lsass.exe. O mimikatz faz isso ao tentar obter hashes NTLM, e a regra identificará o malware.

No entanto, é crítico para nós, especialistas que não apenas detectam, mas também respondem a incidentes, garantir que é realmente um ator malicioso. Infelizmente, existem numerosos processos legítimos que leem a memória do lsass.exe (por exemplo, algumas ferramentas de antivírus). Portanto, em um cenário real, uma regra como essa causará mais falsos positivos do que benefícios.

Não estou disposto a acusar ninguém nesse sentido – todas as soluções geram falsos positivos; é normal. No entanto, especialistas em inteligência de ameaças precisam entender que verificar e ajustar as regras obtidas de fontes abertas e fechadas ainda é necessário.

Dica 4. Verifique nomes de domínio e endereços IP para comportamento malicioso não apenas no servidor proxy e no firewall, mas também nos logs do servidor DNS – e certifique-se de se concentrar tanto em tentativas de resolução bem-sucedidas quanto em tentativas falhas

Domínios e endereços IP maliciosos são os indicadores ótimos do ponto de vista da simplicidade de detecção e da quantidade de dor que você causa ao atacante. No entanto, eles parecem fáceis de lidar apenas à primeira vista. Pelo menos, você deve se perguntar onde obter o log do domínio.

Se você restringir seu trabalho a verificar apenas os logs do servidor proxy, você pode perder códigos maliciosos que tentam consultar a rede diretamente ou solicitar um nome de domínio não existente gerado com DGA, sem mencionar o túnel DNS – nenhum deles será listado nos logs do servidor proxy da empresa. Os criminosos também podem usar serviços de VPN com recursos avançados ou criar túneis personalizados.

Dica 5. Monitore ou bloqueie – decida qual opção escolher apenas após descobrir que tipo de indicador você descobriu e reconhecer as possíveis consequências de bloquear

Todos os especialistas em segurança de TI enfrentaram um dilema não trivial: bloquear uma ameaça ou monitorar seu comportamento e começar a investigar assim que ele dispara alertas. Algumas instruções incentivam claramente a escolher o bloqueio, mas às vezes fazer isso é um erro.

Se o indicador de comprometimento for um nome de domínio usado por um grupo APT, não o bloqueie – comece a monitorá-lo em vez disso. As táticas atuais de implantação de ataques direcionados pressupõem a presença de um canal de conexão secreto adicional, como, por exemplo, aplicativos de rastreamento de celulares que só podem ser descobertos por meio de uma análise aprofundada. O bloqueio automático impedirá que você encontre esse canal nesse cenário; além disso, os adversários rapidamente perceberão que você notou suas travessuras.

Por outro lado, se o IOC for um domínio usado por criptoransomware, ele deve ser bloqueado imediatamente. Mas não se esqueça de monitorar todas as tentativas falhas de consultar os domínios bloqueados – a configuração do codificador malicioso pode incluir várias URLs de servidores de comando e controle. Algumas delas podem não estar nos feeds e, portanto, não ser bloqueadas. Mais cedo ou mais tarde, a infecção alcançará esses servidores para obter a chave de criptografia que será usada instantaneamente para criptografar o host. A única maneira confiável de garantir que você bloqueou todos os C&Cs é reverter a amostra.

Dica 6. Verifique todos os novos indicadores para relevância antes de monitorá-los ou bloqueá-los

Leve em mente que os dados de ameaças são gerados por humanos que são propensos a erros ou por algoritmos de aprendizado de máquina que não são infalíveis. Eu testemunhei diferentes provedores de relatórios pagos sobre a atividade dos grupos APT adicionando acidentalmente amostras legítimas às listas de hashes MD5 maliciosos. Considerando que mesmo os relatórios de ameaças pagos contêm IOCs de baixa qualidade, aqueles obtidos por meio de inteligência de código aberto devem ser verificados para relevância. Os analistas de TI não sempre verificam seus indicadores para falsos positivos, o que significa que o cliente tem que fazer o trabalho de verificação para eles.

Por exemplo, se você obteve um endereço IP usado por uma nova iteração do TrickBot, antes de usá-lo em seus sistemas de detecção, você deve assegurar que não é parte de um serviço de hospedagem ou emanando de seu IP. Caso contrário, você terá um difícil tempo lidando com numerosos falsos positivos sempre que os usuários visitam páginas da web benignas que residem na plataforma de hospedagem.

Dica 7. Automatize todos os fluxos de trabalho de dados de ameaças ao máximo. Comece com a automação completa da verificação de falsos positivos por meio de uma lista de alertas, instruindo o SIEM a monitorar os IOCs que não disparam falsos positivos

Para evitar um grande número de falsos positivos relacionados à inteligência e obtidos de fontes abertas, você pode executar uma pesquisa preliminar para esses indicadores em listas de alertas. Para criar essas listas, você pode usar os 1000 sites mais visitados, endereços de sub-redes internas, bem como os domínios usados por grandes provedores de serviços como Google (GOOGL ), Amazon (AMZN ) AWS, MS Azure e outros. Também é uma ótima ideia implementar uma solução que altere dinamicamente as listas de alertas que consistem nos principais domínios / endereços IP que os funcionários da empresa acessaram durante a semana ou mês passado.

Criar essas listas de alertas pode ser problemático para uma SOC de tamanho médio, então faz sentido considerar a adoção de plataformas de inteligência de ameaças.

Dica 8. Escaneie toda a empresa para indicadores de host, não apenas os hosts conectados ao SIEM

Como regra, nem todos os hosts em uma empresa estão conectados ao SIEM. Portanto, é impossível verificar se um arquivo malicioso com um nome ou caminho específico existe apenas usando a funcionalidade padrão do SIEM. Você pode resolver esse problema da seguinte maneira:

  1. Use scanners de IOC como Loki. Você pode usar o SCCM para lançá-lo em todos os hosts da empresa e, em seguida, encaminhar os resultados para uma pasta de rede compartilhada.
  2. Use scanners de vulnerabilidade. Alguns deles têm modos de conformidade que permitem verificar a rede para um arquivo específico em um caminho específico.
  3. Escreva um script Powershell e execute-o via WinRM.

Como mencionado acima, este artigo não pretende ser uma base de conhecimento abrangente sobre como fazer inteligência de ameaças corretamente. No entanto, com base em nossa experiência, seguir essas regras simples permitirá que os iniciantes evitem erros críticos ao lidar com diferentes indicadores de comprometimento.

Alex é um pesquisador de cibersegurança com mais de 20 anos de experiência em análise de malware. Ele tem fortes habilidades de remoção de malware e escreve para numerous publicações relacionadas à segurança para compartilhar sua experiência em segurança.