Preâmbulo
Imagine que você é um desenvolvedor de artefatos de endpoint. Depois de se esforçar para garantir proteção contra injeções de shellcode convencionais ou inovações de ransomware, como saber se o malware realmente funciona antes de liberá-lo para o mundo?
Primeiro, você configura seu sistema de ponta a ponta, o que envolve a configuração de vários serviços, a infraestrutura, a configuração de rede e muito mais. Então, você executa algum malware; os dados coletados respondem a perguntas sobre desempenho e eficácia e podem ser um importante recurso de pesquisa no futuro. Depois de passar um dia testando e coletando seus resultados, você pode querer executar centenas de hashes em vários tipos de sistemas operacionais e tipos de máquinas, uma tarefa assustadora se feita inteiramente de forma manual.
Para automatizar esse processo e testar nossas proteções em escala, criamos o Detonate, um sistema usado por engenheiros de pesquisa de segurança para medir a eficácia da nossa solução Elastic Security de forma automatizada. Nosso objetivo é fazer com que os pesquisadores de segurança precisem de apenas alguns cliques para testar nossas proteções contra malware. (Assim: clique, clique… bum!)
Nesta série de postagens, iremos: - Apresentar o Detonate e por que o criamos - Explorar como o Detonate funciona e os detalhes técnicos da implementação - Descrever estudos de caso sobre como nossas equipes o usam na Elastic - Discutir a abertura de nossos testes de eficácia para a comunidade para ajudar o mundo a proteger seus dados de ataques
Interessado em outras postagens no Detonate? Confira a Parte 2 - Into The Weeds: Como executamos o Detonate, onde detalhamos como o Detonate funciona e nos aprofundamos na implementação técnica.
O que é Detonate?
Em um nível alto, o Detonate executa malware e outros softwares potencialmente maliciosos em um ambiente controlado (ou seja, em sandbox), onde o conjunto completo de recursos do Elastic Security é habilitado. O Detonate aceita um hash de arquivo (geralmente um SHA256) e executa as seguintes ações:
- Prepara todos os arquivos necessários para a detonação, incluindo o arquivo malicioso
- Provisiona uma instância de máquina virtual (VM) em um ambiente de sandbox, com conectividade limitada ao mundo externo
- Aguarda até que a execução do arquivo seja concluída; isso acontece quando, por exemplo, um arquivo de resultado de execução é encontrado ou a instância da VM é interrompida ou é mais antiga do que o tempo limite da tarefa
- Interrompe a instância da VM em execução (se necessário) e limpa o ambiente em sandbox
- Gera um resumo de eventos com base na telemetria e alertas produzidos durante a detonação
Os resultados dessas detonações são disponibilizados à equipe para fins de pesquisa e desenvolvimento. Ao pós-processar os logs, eventos e alertas coletados durante a detonação, podemos enriquecê-los com inteligência de terceiros e outras fontes para avaliar a eficácia dos recursos de proteção novos e existentes do Elastic Security.
Em que isso nos ajuda?
Medindo a eficácia
Para criar o melhor EPP do mercado, precisamos medir continuamente a eficácia do nosso produto em relação às ameaças mais recentes. O Detonate é usado para executar dezenas de milhares de amostras todos os meses a partir de nossos feeds de dados. Lacunas na cobertura são identificadas automaticamente e usadas para priorizar melhorias em nossas proteções.
Apoiar as proteções existentes
Muitas de nossas proteções têm artefatos associados (como modelos de aprendizado de máquina e definições de regras) que recebem atualizações regulares. Essas atualizações precisam ser testadas para garantir que identifiquemos e remediemos as regressões antes que elas cheguem ao ambiente do usuário.
O Detonate fornece uma estrutura e um conjunto de ferramentas para automatizar a análise envolvida neste processo de teste. Ao aproveitar um corpus de hashes com softwares conhecidos, bons e ruins, podemos validar nossas proteções antes que elas sejam implantadas para os usuários.
Pesquisa de ameaças
Alguns de nossos pesquisadores de segurança vasculham a internet diariamente em busca de ameaças novas e emergentes. Ao fornecer a eles uma plataforma fácil de usar para testar softwares maliciosos encontrados por aí, entendemos melhor como o Elastic Security se defende contra essas ameaças ou se precisamos atualizar nossas proteções.
Avaliando novas proteções
Além de testar as proteções existentes, novas proteções correm o risco de interações adversas com nosso conjunto existente de recursos em camadas. Uma nova proteção pode ser facilmente testada por si só, mas os testes podem ocultar interações não intencionais ou conflitos com proteções existentes. O Detonate nos fornece uma maneira de personalizar a configuração do Elastic Stack e proteções individuais para encontrar e identificar mais facilmente esses conflitos no início do desenvolvimento.
O que vem a seguir?
Nesta publicação, apresentamos o Detonate e para que o usamos na Elastic. Discutimos os benefícios que isso proporciona à nossa equipe ao avaliar o desempenho de nossos artefatos de segurança.
Agora que você sabe o que é, vamos explicar como o Detonate funciona. Em nossa próxima postagem, nos aprofundaremos na implementação técnica do Detonate e como podemos criar esse ambiente sandbox na prática.