[Artigo] Guia da Elastic para Threat Hunting

Enquanto a maioria das tecnologias e processos relacionados à segurança atuam de forma passiva, ou seja, geram uma determinada resposta conforme o desencadeamento de eventos, Threat Hunting (“Caça à ameaças Cibernéticas”, em português) procura atuar de maneira mais ativa na proteção de dados. Trata-se da elaboração de hipóteses sobre os possíveis comportamentos de um invasor e a verificação das mesmas no seu ambiente, levando em consideração tanto o conhecimento quanto a experiência de cada membro da equipe com a tecnologia. O objetivo dessa prática é reduzir o tempo entre a violação de um sistema e a sua descoberta, sendo a melhor maneira de mitigar maiores prejuízos quando se utiliza a aplicação de terceiros para notificar eventuais falhas.

O contexto de Threat Hunting depende, principalmente, das capacidades de pensamento e entendimento humanos. Uma vez que as hipóteses sejam definidas pelo analista, cabe a ele decidir como coletar, armazenar e documentar as informações relacionadas, conduzindo-os a pistas sobre a natureza das anomalias que descobriram. Apesar de a tecnologia não conduzir a caça, é um facilitador crítico para realizar a correlação entre diversos eventos de maneira efetiva e eficiente a partir da expertise dos analistas responsáveis.

Conforme invasores interagem com o seu sistema, geralmente através de atividades que incluem acesso ao sistema ou escalação de privilégios, acabam por produzir artefatos que podem ser utilizados para identificar uma invasão. Esses vestígios podem apresentar variados formatos, que incluem:

  • Dados e metadados no sistema de arquivos
  • Metadados de redes (como consultas e respostas provenientes de NetFlow ou DNS)
  • Dados e metadados de aplicações (como logs no servidor Web)
  • Registros de usuários e autenticação
  • Metadados e nomes de processos
  • Caminhos e metadados de registros

Um dos maiores desafios em Threat Hunting é a necessidade de analisar determinados eventos que não são intrinsicamente maliciosos, mas têm a possibilidade de ser. Alguns pontos, no entanto, podem ser considerados para ajudar no processo de investigação.

Prevalência

É possível para o profissional fazer uma análise crítica sobre a probabilidade de um ataque a partir da prevalência e frequência dos artefatos que são encontrados em um ambiente. Uma vez que manobras mais sofisticadas afetem apenas uma pequena porcentagem dos sistemas, eventos pontuais são mais propensos a apresentarem atividade maliciosa.

Atividades Recentes

No contexto geral, os ataques que mais interessam a um analista são aqueles acontecendo agora, cujos resultados podem ser melhor influenciados. A rápida interrupção de invasões reduz o risco de vazamento de dados ou interrupção dos serviços, permitindo aos profissionais organizar as evidências encontradas no sistema em ordem cronológica.

Padrões de comportamento

Muitas ações e comportamentos podem parecer inofensivos quando considerados individualmente, mas podem apresentar padrões de atividades suspeitas se observados de maneira conjunta. Por exemplo, eventos de login bem sucedidos ou não ocorrem diversas vezes ao longo dos dias, mas tentativas de acesso a contas de usuários inválidas e desativadas costumam ser um mau sinal.

Anomalias

Atividades diferentes do comportamento padrão podem auxiliar na descoberta de eventos desconhecidos. Por exemplo, novas chaves de registro criadas de maneira diferente daquelas já em execução no sistema há alguns meses ou um grande volume de dados sendo exportado para um ambiente externo em um curto período de tempo.

Consciência sobre o ambiente

É necessário que o profissional saiba qual é o comportamento habitual do seu ambiente antes de poder identificar quais comportamentos podem ser considerados incomuns. O analista deve estar ciente de como os demais usuários interagem com o sistema, qual o nível de privilégios de cada um deles e como os pontos mais sensíveis do ambiente estão distribuídos.

Ainda que cada processo de caça seja diferente, é importante definir uma estrutura básica para todas. Assim, é possível tornar o desenvolvimento dessa atividade repetível a partir do estabelecimento de uma metodologia científica, conforme os itens a seguir:

    • Proponha uma hipótese:

      Faça uma suposição razoável sobre um ou mais usuários maliciosos e as técnicas que eles podem utilizar para forçar o acesso ao seu sistema. Como uma forma de melhor gerenciar o escopo para a questão, restrinja o número de horas que serão gastas para comprovar ou refutar um fato, além de identificar o que será incluído ou não.

    • Identifique evidências que provem sua hipótese:

      Avalie as formas de evidência que podem comprovar ou refutar a sua hipótese e identifique como elas podem ser coletadas. Geralmente, faz-se necessário mais de uma forma de evidência para gerar uma prova com alto grau de confiança, por isso é importante garantir que os dados sejam coletados de forma consistente para que não se mostrem enganosos ou insuficientes.

    • Desenvolva as análises:

      Descreva como as evidências podem ser devidamente reduzidas, agrupadas e analisadas para que seja possível chegar a uma conclusão. Normalmente essa etapa envolve a identificação de eventos ou sequências de atividades anômalos, onde a experiência do profissional é imprescindível para desconsiderar comportamentos benignos e falsos positivos.

    • Automatize:

      É possível automatizar e agendar os processos de coletas de informação ou registro de eventos, além de antecipar a redução dos dados e a correspondência de palavras-chave. Assim, reduz-se o excesso de trabalhos manuais e pode direcionar os analistas para as tarefas que requerem o seu conhecimento.

    • Documente:

      Todas as evidências coletadas, as análises realizadas, as lógicas utilizadas sobre o processamentos dos dados e as subsequentes conclusões serão perdidas a menos que sejam documentadas durante o curso da caça. Aproveite, também, para tentar reduzir o volume dos dados coletados, visto que isso melhora a capacidade de respostas rápidas a incidentes.

    • Comunique e reporte:

      Durante o início das atividades, deve ser estabelecido o que será comunicado à gerência e quando, incluindo o momento para declarar sobre um incidente e a frequência das atualizações. Acompanhe, também, quando as recomendações apontadas são feitas e o tempo necessário até serem implementadas, essas serão medidas importantes sobre a capacidade da equipe.

Caçando ataques sem arquivos

O termo “ataques sem arquivos” (fileless attacks) é usado, basicamente, para descrever duas categorias diferentes de possíveis manobras a serem realizadas por um agente malicioso:

    • Living off the land

      Essa técnica consiste em usar ferramentas já presentes no alvo em questão para conduzir quaisquer operações de ataque. Geralmente tratam-se de instrumentos administrativos ou rotinas do sistema operacional, que costumam conceder altos níveis de privilégios para qualquer usuário do sistema. Qualquer aplicação local ou software que possam permitir a execução arbitrária de códigos está sob o risco de ser localizada e manipulada por usuários mal intencionados.

    • In-memory malware

      Nessa abordagem, um atacante injeta o conteúdo malicioso (malware) em aplicações que já estejam em execução. A intenção por trás dessa técnica é fugir da análise de softwares de antivírus, uma vez que os programas em questão foram devidamente autorizados pela organização. Sua popularidade cresceu conforme o desenvolvimento de novas estruturas que permitiram a atividade de agentes maliciosos com todos os níveis de conhecimento, não apenas invasores mais sofisticados.

Por que atacantes realizam ataques sem arquivos? A resposta é simples, são manobras que procuram despistar a detecção de diversas ferramentas de Cibersegurança que se propõem a identificar malwares.

A primeira abordagem para identificar ataques sem arquivos em potencial é examinar uma captura da memória do sistema. Investigadores tiveram sucesso ao utilizar ferramentas como o Volatility para adquirir a memória dos processos em execução e aplicar análises em escala. Para propósitos relacionados a Threat Hunting, isso requer capturar apenas algumas centenas de megabytes de metadados por sistema.

O analista também deve começar ao observar qual o uso típico das ferramentas administrativas. Esse processo vai gerar diversas anomalias a serem investigadas, mas isso não quer dizer que sejam automaticamente suspeitas. Caso sejam encontrados muitos falsos positivos, deve-se repensar quais atividades devem ser consideradas como anormalidades ou sobre os comportamentos a serem monitorados.

O profissional responsável deve procurar determinar sequências de eventos que podem apontar atividades maliciosas. Por exemplo, ele pode observar se alguma ferramenta administrativa está sendo executada como um processo-filho poucos minutos após um email ter sido recebido. Esse é um bom indicador de comprometimentos iniciais, possivelmente resultado de algum phishing. Outra consideração é se essas mesmas ferramentas subitamente estão apresentando um comportamento não administrativo, como parâmetros de execução incomuns. Muitas conexões de rede realizadas para a manutenção do sistema interno dificilmente significam atividades legítimas dos operadores.

Caçando persistências

Frequentemente o invasor de um sistema precisa estabelecer conexões mais longas com seu alvo a fim de exfiltrar os dados de maneira mais refinada. Portanto, um dos seus primeiros objetivos é estabelecer sua persistência no ambiente para prevenir quaisquer interrupções nas suas atividades. Um analista deve procurar por mecanismos que possam prover essa persistência e usá-los para tentar identificar a cadeia de técnicas utilizadas em um ataque.

Diversas organizações iniciam o processo de caça a ameaças a partir do registro de janela. Trata-se de um aperfeiçoamento na máquina e seu sistema de configuração de maneira que possam ser feitos por meio de uma variedade de métodos gratuitos e apresentem um baixo custo de consultas. Dessa forma, é possível investigar locais de registro que geralmente armazenam evidências sobre a persistência de programas, muito utilizadas por grande parte da família de malwares.

Antes de o profissional começar a coletar dados que podem ser usados para detectar técnicas de persistência, é importante identificar quais fontes de informações são capazes de fornecê-las de maneira mais compreensível. É possível reduzir drasticamente o volume da coleta ao se criar um perfil sobre cada estação de trabalho da sua organização, uma vez que passa a ser feita uma priorização a respeito dos pontos mais sensíveis dentro do sistema.

Caçando persistências em escala

Uma vez superadas as caças pontuais e manuais a ameaças, deve-se levar em conta diferentes perspectivas para o seu alcance contemplar toda a organização. Quando uma escala corporativa é adotada, as seguintes perguntas podem ser consideradas:

  • De todas as tarefas agendadas, quais são os seus valores hash e quais cargas úteis as mesmas executaram?
  • Quais dos binários existentes realizam conexões externas? Existem outros objetos, aparentemente não relacionados, tentando realizar as mesmas conexões?
  • Qual a distribuição das autoridades de certificação associadas aos objetos de toda a empresa? Alguma delas tem reputação fraca ou ruim?
  • Quais objetos persistentes podem estar mais vulneráveis a agentes externos?

Análise de frequência e anomalias são duas abordagens estatísticas para avaliar arquivos maliciosos em potencial em uma escala corporativa. Há o princípio geral, portanto não é uma regra, que se houver um mesmo objeto persistente em todos os diferentes sistemas no seu ambiente, é muito comum que ele seja malicioso. Malwares auto propagadores, por exemplo, podem se espalhar rapidamente em uma rede desprotegida.

Outra abordagem interessante de encontrar arquivos suspeitos consiste em comparar a imagem dos últimos dados coletados com uma linha de base da organização. Dessa forma é possível observar as discrepâncias entre os conjuntos de informações que podem levar à identificação de atividades atípicas. Não se trata de uma aproximação à prova de falhas, mas restringe o volume de bytes antes de uma inspeção mais aprofundada.

Além disso, é útil saber se houve outros eventos de destaque no momento em que mecanismos de persistência foram criados ou modificados, trata-se de uma proximidade temporal. Se foi diagnosticado o registro de uma nova chave no sistema, por exemplo, esse evento pode ser considerado como suspeito se as operações realizadas não estiverem consistentes com os padrões normalmente adotados no ambiente.

Uma maneira de melhorar o controle sobre o grande volume de dados gerado pelas empresas atuais é melhorar a qualidade dos mesmos. Para o enriquecimento dessas informações, o profissional deve procurar capturar e comparar as condições tanto locais quanto empresariais. Com algumas eventuais exceções, a coleta deve apresentar os mesmos resultados em ambas situações; ao se identificar qualquer discrepância, basta documentá-la.

Caçando movimentos laterais

Agentes maliciosos, com frequência, precisam realizar um processo de descoberta dos ativos presentes na rede depois de conseguir acesso ao ambiente. Assim, uma vez que novos usuários são descobertos no sistema, o atacante pode se mover pelos mesmos e obter as informações que deseja antes de a aplicação se tornar hostil à sua presença. Existem diversas ferramentas capazes de especificar nomes de usuários, bem como suas senhas de acesso, enquanto outras podem simular o contexto atual do sistema em um local externo.

Analisar movimentos laterais de possíveis atacantes, no entanto, pode ser uma tarefa árdua para os analistas. Isso se deve ao fato de que é comum que tanto invasores quanto administradores de sistemas façam uso das mesmas ferramentas e técnicas para realizar essa manobra. Motivo pelo qual o processo deve ser feito gradativamente a fim de se minimizar a incidência de erros.

A primeira abordagem é remover os pontos de compartilhamento expostos nos ativos da organização. Por padrão, diversas máquinas, principalmente Windows, mantêm algumas áreas de compartilhamento ocultas que podem ser exploradas por um usuário mal intencionado que queira realizar um reconhecimento do ambiente para posteriores movimentos laterais. Caso não seja necessário manter essas estruturas para nenhum fim legítimo, é relativamente simples desabilitá-las através de uma atualização na política de grupo.

Além disso, é importante que toda a equipe técnica da organização possa estar coordenada de forma a melhor determinar se as ferramentas, contas e sistemas comuns em utilização são legítimas. O bom relacionamento entre as diversas áreas do ambiente pode potencializar uma melhor mobilização na resposta a incidentes, oferecer um suporte durante a coleta de dados e auxiliar na implementação de controle preventivos.

Roubo de credenciais

O atacante que consegue capturar as credenciais corretas dos usuários legítimos do sistema, é capaz de conseguir acesso às informações mais sensíveis de toda a organização. Essa é uma das maneiras pela qual o invasor consegue aumentar o seu nível de privilégios e adquirir a capacidade de se movimentar mais livremente dentro desse espaço.

A primeira maneira de tentar detectar um roubo de credenciais consiste apenas em monitorar os eventos de autenticação realizados na sua organização a procura de comportamentos atípicos. Por exemplo, é extremamente incomum que a mesma conta de usuário tente diversas solicitações de login em um curto espaço de tempo, assim como vários registros bem sucedidos diferentes ao longo de um dia. O gerenciamento dos informações permite aos profissionais um maior controle sobre o seu ambiente e a tomada das ações mais apropriadas diante de atividades suspeitas.

Uma outra abordagem é buscar por assinaturas de criptografia que não correspondam àquelas adotadas na organização. Não se trata de uma técnica infalível, sobretudo levando em consideração invasores mais sofisticados com ferramentas mais poderosas, mas continua sendo eficaz em ambiente mais antigos ou de menor escala.

Aproveite para conhecer a solução desenvolvida pela Clavis para identificação de ameaças e riscos à segurança, o Octopus SIEM. O Sistema de Gerenciamento de Informações e Eventos de Segurança foi desenvolvido sobre uma base de arquitetura aberta (Elastic Stack), com regras de funcionamento claramente especificadas e completamente acessíveis ao cliente. Além disso possibilita ao cliente um maior controle e domínio sobre seu funcionamento, permitindo a integração de diversos dados relevantes à proteção do negócio. O Octopus SIEM foi reconhecido como um produto homologado pelo Ministério da Defesa e publicado no Diário Oficial da União em 16 de janeiro de 2018.

Para maiores informações sobre o Octopus SIEM acesse o site da solução ou o material em PDF.