Segurança de SIEM
LidoEsta aula explora a segurança de SIEM, focando em correlação de eventos, joins entre fontes de dados, criação de casos de uso e ajuste fino (tuning) para reduzir falsos positivos. Você aprenderá a configurar regras eficazes e a manter um SIEM relevante e acionável.
Bem-vindo à aula sobre Segurança de SIEM (Security Information and Event Management). Nesta aula, vamos mergulhar nos conceitos fundamentais que tornam um SIEM uma ferramenta poderosa para detecção e resposta a incidentes. Um SIEM coleta logs de diversas fontes, normaliza e correlaciona eventos para identificar padrões suspeitos, mas a verdadeira eficácia depende de como você configura a correlação, os joins, os casos de uso e o tuning contínuo. Vamos explorar cada um desses pilares com exemplos práticos e melhores práticas.
Não basta apenas coletar logs; é preciso transformá-los em inteligência acionável. A correlação permite combinar eventos aparentemente isolados em um contexto maior, enquanto os joins possibilitam enriquecer eventos com dados de referência. Casos de uso bem definidos garantem que o SIEM esteja alinhado aos objetivos de segurança, e o tuning constante reduz o ruído, permitindo que os analistas foquem no que realmente importa.
Correlation
Correlação é o processo de analisar múltiplos eventos de diferentes fontes para identificar relações que indicam uma ameaça ou incidente. Em um SIEM, as regras de correlação definem condições que, quando atendidas, geram um alerta. Essas regras podem ser baseadas em sequências temporais, agregações ou padrões estatísticos.
Por exemplo, uma regra pode detectar múltiplas falhas de autenticação em um curto período, indicando um ataque de força bruta. Outra regra pode correlacionar uma conexão de rede suspeita com a execução de um processo conhecido por malware. A correlação eficaz reduz o número de alertas, pois combina eventos isolados em incidentes mais significativos.
Exemplo de regra de correlação em pseudocódigo (usando uma linguagem de consulta comum):
when
count(EventType = 'AuthenticationFailure') > 5
within 10 minutes
from source = 'WindowsEventLog'
and source = 'LinuxAuthLog'
Joins
Joins em SIEM permitem combinar eventos de diferentes fontes com base em campos comuns, como IP, usuário ou ID de sessão. Isso enriquece os dados e fornece contexto adicional. Por exemplo, ao juntar logs de firewall com logs de autenticação, você pode ver se um IP que tentou acessar um serviço foi autenticado com sucesso.
Os joins podem ser internos (inner), externos (left/right) ou completos (full), e são essenciais para correlacionar informações que estão espalhadas em vários sistemas. Eles permitem responder perguntas como: "Este usuário fez login a partir de um IP que está na lista de ameaças?" ou "Este endpoint executou um processo que foi baixado de uma URL maliciosa?".
Exemplo de consulta SQL-like para join:
SELECT
auth.user, auth.ip, firewall.action
FROM auth_log AS auth
JOIN firewall_log AS firewall ON auth.ip = firewall.src_ip
WHERE firewall.action = 'block'
Use cases
Casos de uso (use cases) são cenários específicos de detecção que o SIEM deve cobrir. Eles são baseados em requisitos de segurança, como detecção de malware, exfiltração de dados, acesso não autorizado, etc. Cada caso de uso deve ter uma regra de correlação associada, fontes de dados relevantes, e um procedimento de resposta.
Desenvolver casos de uso eficazes envolve entender o ambiente, as ameaças relevantes e os objetivos de negócio. Por exemplo, um caso de uso para detecção de ransomware pode incluir regras para múltiplas criptografias de arquivos, alterações em extensões de arquivos e comunicação com C2. É importante documentar cada caso de uso e revisá-lo periodicamente.
Exemplo de caso de uso em formato textual:
Caso de uso: Detecção de força bruta em SSH
- Fontes: logs de autenticação em servidores Linux
- Regra: 10 falhas de autenticação em 5 minutos
- Ação: alerta de alta severidade, bloquear IP no firewall
Tuning
Tuning é o processo contínuo de ajustar as regras do SIEM para reduzir falsos positivos e negativos, melhorando a precisão dos alertas. Isso envolve analisar os alertas gerados, identificar padrões de ruído e modificar as regras ou limiares.
Um SIEM bem ajustado economiza tempo dos analistas e aumenta a confiança nos alertas. O tuning pode incluir a alteração de limites de contagem, janelas de tempo, exclusão de fontes conhecidas ou adição de contexto. É essencial manter um ciclo de feedback onde os analistas reportam alertas irrelevantes e as regras são refinadas.
Exemplo de ajuste de regra: se uma regra de força bruta gera muitos alertas para um servidor de backup que faz muitas tentativas de autenticação legítimas, você pode adicionar uma exceção para esse servidor ou aumentar o limiar de tentativas.
Boas Práticas
Para manter um SIEM eficaz, siga estas boas práticas:
- Mantenha os casos de uso alinhados com o risco e os objetivos de negócio.
- Documente todas as regras e alterações.
- Revise regularmente os alertas para ajustar o tuning.
- Use fontes de inteligência de ameaças para enriquecer a correlação.
- Automatize respostas para alertas de alta confiança, onde possível.
Referências
- Splunk: Correlation Rules
- Azure Sentinel Documentation
- Elastic SIEM Guide
- IBM QRadar Documentation
- MITRE ATT&CK
- OWASP Information Security Management
Exercícios
-
Explique o que é correlação em SIEM e dê um exemplo de regra de correlação para detectar uma varredura de portas.
✓ Resposta: Correlação é a análise de múltiplos eventos para identificar padrões de ataque. Uma regra para varredura de portas pode ser: quando um mesmo IP de origem tentar conectar a mais de 20 portas diferentes em um host em menos de 1 minuto, gerar alerta.
-
Qual é a diferença entre um join interno e um join externo em consultas de SIEM? Dê um exemplo de quando usar cada um.
✓ Resposta: Join interno retorna apenas registros que têm correspondência em ambas as tabelas. Join externo (left/right) retorna todos os registros de uma tabela e os correspondentes da outra, preenchendo com NULL quando não há correspondência. Exemplo: para listar todos os logins com IPs de firewall, use inner join; para listar todos os logins mesmo sem correspondência no firewall, use left join.
-
Crie um caso de uso para detecção de exfiltração de dados via upload de arquivos para um serviço de armazenamento em nuvem, descrevendo fontes de dados, regras e ação.
✓ Resposta: Caso de uso: Detecção de upload anômalo. Fontes: logs de proxy, logs de DLP. Regra: quando um usuário enviar mais de 100 MB para um domínio de armazenamento em nuvem em 10 minutos, alertar. Ação: alerta de alta severidade e bloquear o tráfego.
-
Por que o tuning é importante em um SIEM? Cite três técnicas comuns de tuning.
✓ Resposta: O tuning reduz falsos positivos e negativos, melhorando a eficiência e a confiabilidade. Técnicas: 1) Ajustar limites de contagem e janelas de tempo; 2) Adicionar exceções para hosts ou usuários específicos; 3) Usar listas de observação para ignorar IPs confiáveis.
-
Em uma regra de correlação, você percebe que ela gera muitos alertas para um servidor de testes. Quais ajustes você faria? Explique sua abordagem.
✓ Resposta: Primeiro, analisar se os alertas são realmente benignos. Se sim, posso: 1) Adicionar o servidor a uma lista de exclusão; 2) Aumentar o limiar de eventos; 3) Criar uma regra suplementar que exija outro indicador (ex.: falha de autenticação vinda de IP externo).