5 Benefícios da Detecção de Código
Adote uma metodologia moderna e orientada a testes para proteger sua organização com Detecção de Código.
Na última década, a detecção de ameaças tornou-se crítica para os negócios e ainda mais complicada. À medida que as empresas migram para a nuvem, os processos manuais de detecção de ameaças não conseguem mais acompanhar. Como as equipes podem automatizar a análise de segurança em escala e enfrentar os desafios que ameaçam os objetivos de negócios? A resposta está em tratar detecções de ameaças como software ou detecção de código.
Assista ao webinar sob demanda da Panther: Scaling Security with Detection-as-Code with Cedar para descobrir como a Cedar usa o Panther para aproveitar a detecção de código para criar alertas de alto sinal.
Detecção de código, um novo paradigma (esperança). As detecções definem a lógica para analisar dados de log de segurança para identificar comportamentos de invasores. Quando uma regra é correspondida, um alerta é enviado à sua equipe para contenção ou investigação.
O que é detecção de código?
A detecção de código é uma abordagem moderna, flexível e estruturada para escrever detecções que aplicam as melhores práticas de engenharia de software à segurança. Ao adotar esse novo paradigma, as equipes podem criar processos escaláveis para gravação e proteção de detecções para identificar ameaças sofisticadas em ambientes em rápida expansão.
Benefícios de adotar um fluxo de trabalho orientado por código
Programas de detecção de ameaças que são ajustados para ambientes e sistemas específicos são os mais impactantes. Ao tratar as detecções como um código bem escrito que pode ser testado, verificado no controle de origem e revisado por colegas, as equipes podem produzir alertas de alta qualidade que reduzem a fadiga e sinalizam rapidamente atividades suspeitas.
1 — Crie detecções personalizadas e flexíveis com uma linguagem de programação
Escrever detecções em uma linguagem universalmente reconhecida, flexível e expressiva, como Python, oferece várias vantagens em vez de usar linguagens específicas de domínio (DSL) que são muito limitadas. Com linguagens, como Python, você pode escrever detecções mais sofisticadas e personalizadas para atender às necessidades específicas de sua empresa. Essas regras também tendem a ser mais legíveis e fáceis de entender à medida que a complexidade aumenta.
Outro benefício dessa abordagem é utilizar um rico conjunto de bibliotecas internas ou de terceiros desenvolvidas pela comunidade de segurança para interagir com APIs ou processar dados, o que aumenta a eficácia da detecção.
2 — Desenvolvimento Orientado a Testes (TDD)
Um controle de qualidade adequado para o código de detecção pode permitir que as equipes descubram pontos cegos de detecção antecipadamente, cubram testes de alertas falsos e promovam a eficácia da detecção. Uma abordagem TDD permite que as equipes de segurança pensem como um invasor, documentem esse conhecimento e organizem um repositório interno de insights sobre o ciclo de vida do invasor.
A vantagem do TDD é mais do que apenas a validação da correção do código. Uma abordagem TDD para escrever detecções melhora a qualidade do código de detecção e permite detecções mais modulares, extensíveis e flexíveis. Os engenheiros podem facilmente fazer alterações em sua detecção sem medo de quebrar alertas ou prejudicar as operações diárias.
3 — Colaboração com Sistemas de Controle de Versão
Ao escrever novas detecções ou modificá-las, o controle de versão permite que as equipes revertam rápida e facilmente para estados anteriores. Também confirma que as equipes estão usando a detecção mais atualizada em vez de referenciar códigos desatualizados ou incorretos. O controle de versão também pode ajudar a fornecer o contexto necessário para detecções específicas que acionaram um alerta ou ajudar a identificar quando as detecções são alteradas.
À medida que dados novos e adicionais entram no sistema ao longo do tempo, as detecções também devem mudar. Um processo de controle de alterações é essencial para ajudar as equipes a abordar e ajustar as detecções conforme necessário, garantindo simultaneamente que todas as alterações sejam bem documentadas e bem revisadas.
4 — Fluxos de trabalho automatizados para detecções confiáveis
Um pipeline de Integração Contínua e Implantação (CI/CD) pode ser benéfico para equipes de segurança que há muito desejam mover a segurança mais para a esquerda. O uso de um pipeline de CI/CD ajuda a atingir os dois objetivos a seguir:
- Elimine silos entre as equipes enquanto elas trabalham juntas em uma plataforma comum, revisam o código do trabalho umas das outras e mantêm a organização.
- Forneça testes automatizados e pipelines de entrega para suas detecções de segurança. As equipes podem permanecer ágeis concentrando-se na criação de detecções ajustadas. Em vez de testar manualmente, implantar e garantir que as detecções não sejam excessivamente ajustadas, o que pode acionar alertas falsos.
5 — Código Reutilizável
Por último, mas não menos importante, a detecção de código pode promover a reutilização de código em um grande conjunto de detecções. À medida que as equipes escrevem um grande número de detecções ao longo do tempo, elas começam a ver surgir padrões específicos. Os engenheiros podem reutilizar o código existente para executar a mesma função ou uma função muito semelhante em diferentes detecções sem começar do zero.
A reutilização de código pode ser uma parte vital da gravação de detecção que permite que as equipes compartilhem funções entre detecções ou modifiquem e adaptem detecções para casos de uso específicos. Por exemplo, suponha que você precise repetir um conjunto de listas de permissão/negação (digamos, para gerenciamento de acesso) ou uma lógica de processamento específica em vários locais. Nesse caso, você pode usar Helpers em linguagens como Python para compartilhar funções entre detecções.
Introdução ao Panther
Panther é uma plataforma de análise de segurança projetada para aliviar os problemas dos SIEMs tradicionais. Panther é construído para engenheiros de segurança, por engenheiros de segurança. Em vez de inventar outra linguagem proprietária para expressar a lógica de detecção, a Panther oferece às equipes de segurança um mecanismo de regras Python para escrever detecção expressiva de ameaças e automatizar a detecção e a resposta em escala de nuvem. A abordagem modular e aberta da Panther oferece integrações fáceis e detecções flexíveis para ajudá-lo a construir um pipeline moderno de operações de segurança.
Fluxo de trabalho de detecção como código no Panther
Panther oferece detecções confiáveis e resilientes que podem facilitar:
- Escreva detecções expressivas e flexíveis em Python para necessidades específicas de sua empresa.
- Estruture e normalize logs em um esquema estrito que permite detecções com Python e consultas com SQL.
- Execute a detecção de ameaças em tempo real e as investigações de energia contra grandes volumes de dados de segurança.
- Beneficie-se de mais de 200 detecções pré-criadas mapeadas para ameaças específicas, atividades suspeitas e estruturas de segurança como MITRE ATT&CK.
Fluxo de trabalho de detecção como código no Panther
Ao escrever uma detecção em Panther , você começa com uma função rule() que identifica um comportamento específico a ser identificado. Por exemplo, vamos supor que você queira um alerta quando houver suspeita de um login de força bruta no Okta. A detecção a seguir pode ajudar a identificar esse comportamento com o Panther:
Regra de login Okta Brute Force no Panther
No exemplo acima:
- A função rule() recebe um argumento de ‘evento’ e retorna um valor booleano.
- A função title() controla a mensagem de alerta gerada enviada aos analistas. Os valores dos eventos podem então ser interpolados para adicionar contextos úteis.
As regras podem ser habilitadas e testadas diretamente na Panther UI ou modificadas e carregadas programaticamente com a ferramenta Panther Analysis, que permite testar, empacotar e implantar detecções por meio da interface de linha de comando (CLI). E para ajudar na triagem de incidentes, as regras do Panther contêm metadados como gravidade, tipos de log, testes de unidade, runbooks e muito mais.
Este artigo é uma tradução de: https://thehackernews.com/2022/05/5-benefits-of-detection-as-code.html (Autor: )