Cíber segurança
Dicas de práticas recomendadas de inteligência contra ameaças

Muitas pessoas dizem que inteligência de ameaças (TI) tem um gosto bom, mas poucos entendem como cozinhá-la. São ainda menos os que sabem quais processos engajar para que a TI funcione e traga lucro. Além disso, um número insignificante de pessoas sabe como escolher um provedor de feed, onde verificar um indicador de falsos positivos e se vale a pena bloquear um domínio que seu colega lhe enviou pelo WhatsApp.
Tínhamos duas assinaturas APT comerciais, dez trocas de informações, cerca de uma dúzia de feeds gratuitos e uma extensa lista de nós de saída TOR. Também usamos alguns reversores poderosos, scripts mestres do Powershell, um scanner Loki e uma assinatura paga do VirusTotal. Não que um centro de resposta a incidentes de segurança não funcione sem tudo isso, mas se você quiser capturar ataques complexos, terá que ir até o fim.
O que me preocupava particularmente era a possível automação da verificação de indicadores de comprometimento (IOCs). Não há nada tão imoral quanto a inteligência artificial substituir um humano em uma atividade que exige raciocínio. No entanto, percebi que minha empresa enfrentaria esse desafio mais cedo ou mais tarde, à medida que o número de nossos clientes aumentasse.
Por vários anos de atividade permanente de TI, pisei em vários ancinhos e gostaria de fornecer algumas dicas que ajudarão os novatos a evitar erros comuns.
Dica 1. Não tenha muitas esperanças de capturar coisas por hashes: a maioria dos malwares é polimórfico atualmente
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 botnet, 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. Para encurtar a história, essas podem ser coisas diferentes.
Para resolver toda essa confusão, David Bianco sugeriu usar o que é chamado de Pirâmide da Dor. Ele descreve uma correlação entre diferentes indicadores que você usa para detectar um invasor e a quantidade de “dor” que você causará ao invasor se identificar um IOC específico.
Por exemplo, se você souber o hash MD5 do arquivo malicioso, ele poderá ser detectado com facilidade e precisão. No entanto, isso não causará muita dor ao invasor porque adicionar apenas 1 bit de informação a esse arquivo mudará completamente seu hash.
Dica 2. Tente usar os indicadores que o invasor achará tecnicamente complicados ou caros para alterar
Antecipando a questão de como saber se existe um arquivo com um determinado hash em nossa rede corporativa, direi o seguinte: existem várias maneiras. Um dos métodos mais fáceis é usar uma solução que mantenha o banco de dados de hashes MD5 de todos os arquivos executáveis da empresa.
Vamos voltar para a Pirâmide da Dor. Ao contrário da detecção por um valor de hash, é mais produtivo identificar o TTP (táticas, técnicas e procedimentos) do invasor. Isso é mais difícil de fazer e requer mais esforço, mas você infligirá mais dor ao adversário.
Por exemplo, se você sabe que a equipe APT que visa seu setor da economia está enviando e-mails de phishing com arquivos *.HTA a bordo, criar uma regra de detecção que procure esses anexos de e-mail atingirá o invasor abaixo do cinto. Eles terão que modificar a tática de spam e talvez até gastar algum dinheiro para comprar explorações de 0 ou 1 dia que não são baratas.
Dica 3. Não coloque esperanças excessivas nas regras de detecção criadas por outra pessoa, porque você deve verificar essas regras em busca de falsos positivos e ajustá-las
À medida que você começa a criar regras de detecção, sempre há uma tentação de usar as prontamente disponíveis. Sigma é um exemplo de repositório gratuito. É um formato independente de SIEM de métodos de detecção que permite traduzir regras da linguagem Sigma para ElasticSearch, bem como regras Splunk ou ArcSight. O repositório inclui centenas de regras. Parece uma grande coisa, mas o diabo, como sempre, está nos detalhes.
Vamos dar uma olhada em uma das regras de detecção de mimikatz. Esta regra detecta processos que tentaram ler a memória do processo lsass.exe. Mimikatz faz isso ao tentar obter hashes NTLM, e a regra identificará o malware.
No entanto, é fundamental para nós – especialistas que não apenas detectam, mas também respondem a incidentes – garantir que seja realmente um agente mal-intencionado. Infelizmente, existem vários processos legítimos que leem a memória lsass.exe (por exemplo, algumas ferramentas antivírus). Portanto, em um cenário do mundo 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, os especialistas em inteligência de ameaças precisam entender que ainda é necessário verificar novamente e ajustar as regras obtidas de fontes abertas e fechadas.
Dica 4. Verifique os nomes de domínio e endereços IP quanto a 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 nas tentativas de resolução bem-sucedidas e malsucedidas
Domínios maliciosos e endereços IP são os indicadores ideais do ponto de vista da simplicidade de detecção e da quantidade de dor que você inflige ao invasor. No entanto, eles parecem fáceis de manusear apenas à primeira vista. Pelo menos, você deve se perguntar onde pegar o log de domínio.
Se você restringir seu trabalho a verificar apenas os logs do servidor proxy, poderá perder códigos maliciosos que tentam consultar a rede diretamente ou solicitam um nome de domínio inexistente gerado com DGA, sem falar no encapsulamento de DNS - nenhum deles será listado no logs de um servidor proxy corporativo. Criminosos também podem usar serviços VPN com recursos avançados ou crie túneis personalizados.
Dica 5. Monitorar ou bloquear – decida qual escolher somente depois de descobrir que tipo de indicador você descobriu e reconhecer as possíveis consequências do bloqueio
Todo especialista em segurança de TI já enfrentou um dilema nada trivial: bloquear uma ameaça ou monitorar seu comportamento e começar a investigar quando ela disparar alertas. Algumas instruções inequivocamente encorajam você a escolher o bloqueio, mas às vezes 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. As táticas atuais de implantação de ataques direcionados pressupõem a presença de um canal adicional de conexão secreta como, por exemplo, aplicativos de rastreamento de celular que só podem ser descobertos através de uma análise aprofundada. O bloqueio automático impedirá que você encontre esse canal neste cenário; além disso, os adversários perceberão rapidamente que você notou suas travessuras.
Por outro lado, se o IOC for um domínio usado por cripto-ransomware, deve ser bloqueado imediatamente. Mas não se esqueça de monitorar todas as tentativas malsucedidas de consultar os domínios bloqueados – a configuração do codificador malicioso pode incluir várias URLs de servidor de comando e controle. Alguns deles podem não estar nos feeds e, portanto, não serão bloqueados. Mais cedo ou mais tarde, a infecção os alcançará 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 é inverter a amostra.
Dica 6. Verifique a relevância de todos os novos indicadores antes de monitorá-los ou bloqueá-los
Lembre-se de que os dados de ameaças são gerados por humanos propensos a erros ou por máquinas algoritmos de aprendizado que não são à prova de erros qualquer. Testemunhei diferentes provedores de relatórios pagos sobre a atividade de grupos APT adicionando acidentalmente amostras legítimas às listas de hashes MD5 maliciosos. Dado 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 definitivamente ser examinados quanto à relevância. Os analistas de TI nem sempre verificam se há falsos positivos em seus indicadores, o que significa que o cliente deve verificar por eles.
Por exemplo, se você obteve um endereço IP usado por uma nova iteração de TruqueBot, antes de aproveitá-lo em seus sistemas de detecção, você deve certificar-se de que não faz parte de um serviço de hospedagem ou proveniente de seu IP. Caso contrário, você terá dificuldade em lidar com inúmeros falsos positivos sempre que os usuários que visitam um site residente nessa plataforma de hospedagem vão para páginas da web completamente benignas.
Dica 7. Automatize todos os fluxos de trabalho de dados de ameaças ao máximo. Comece automatizando totalmente a verificação de falsos positivos por meio de uma lista de avisos enquanto instrui o SIEM a monitorar os IOCs que não acionam 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 desses indicadores nas listas de avisos. Para criar essas listas, você pode usar os 1000 principais sites por tráfego, endereços de sub-redes internas, bem como os domínios usados pelos principais provedores de serviços como Google, Amazon AWS, MS Azure e outros. Também é uma ótima ideia implementar uma solução que altere dinamicamente as listas de avisos que consistem nos principais domínios/endereços IP que os funcionários da empresa acessaram durante a última semana ou mês.
A criação dessas listas de avisos pode ser problemática para um SOC de médio porte, portanto, faz sentido considerar a adoção das chamadas plataformas de inteligência de ameaças.
Dica 8. Examine toda a empresa em busca de 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 há um arquivo malicioso com um nome ou caminho específico usando apenas a funcionalidade padrão do SIEM. Você pode cuidar desse problema das seguintes maneiras:
- Uso Scanners IOC como Loki. Você pode usar o SCCM para iniciá-lo em todos os hosts corporativos e encaminhar os resultados para uma pasta de rede compartilhada.
- Use scanners de vulnerabilidade. Alguns deles têm modos de conformidade que permitem verificar a rede em busca de um arquivo específico em um caminho específico.
- Escreva um script Powershell e execute-o via WinRM.
Conforme mencionado acima, este artigo não pretende ser uma base de conhecimento abrangente sobre como fazer a inteligência de ameaças corretamente. A julgar pela nossa experiência, porém, seguir essas regras simples permitirá que os novatos evitem erros críticos ao lidar com diferentes indicadores de comprometimento.