Mapa da aula
Aula 02 publicada. Mapa, exemplo, EX004.
flowchart TD
N0["2.1 Conjuntos na detecção"]
N1["2.2 Lógica"]
N2["2.3 Relações e grafos"]
N3["2.4 Contagem"]
N4["2.5 Uso no caso"]
N5["2.6 Precisão da linguagem"]
N6["Síntese"]
N0 --> N1 --> N2 --> N3 --> N4 --> N5 --> N6
N6 --> EX["Exemplo resolvido"]
EX --> Q["Exercício EX004"]
Desenho lógico
flowchart LR
N0["2.1 Conjuntos na detecção"]
N1["2.2 Lógica"]
N2["2.3 Relações e grafos"]
N3["2.4 Contagem"]
N4["2.5 Uso no caso"]
N5["2.6 Precisão da linguagem"]
N6["Síntese"]
N0 --> N1 --> N2 --> N3 --> N4 --> N5 --> N6 --> Q["EX004"]
[2.1 Conjuntos na detecção]
|
v
[2.2 Lógica]
|
v
[2.3 Relações e grafos]
|
v
[2.4 Contagem]
|
v
[2.5 Uso no caso]
|
v
[2.6 Precisão da linguagem]
|
v
[Síntese]
|
v
[Exemplo resolvido] --> [Exercício EX004]
Objetivos de aprendizagem
Você vai (1) usar conjuntos e relações para descrever usuários, hosts e alertas; (2) aplicar lógica a condições de detecção; (3) contar combinações para regras de correlação; (4) raciocinar sobre grafos de logons.
2.1 Conjuntos na detecção
Uma detecção muitas vezes faz perguntas de conjuntos. Quais usuários falharam no login a partir da rede N? Quais deles tiveram sucesso depois? Se F é o conjunto de nomes de usuário com falhas e S o conjunto com sucessos a partir da mesma rede, F ∩ S são as contas que podem ter sido adivinhadas corretamente. A notação de conjuntos transforma um palpite vago numa consulta precisa. A interseção não prova comprometimento; um cliente que digitou a senha errada duas vezes e depois acertou também cai em F ∩ S. O que ela faz é encolher a lista, de todos os que falharam para os poucos que merecem um olhar mais atento, que é o que uma etapa de triagem deve fazer.
2.2 Lógica
Condições de regras são fórmulas lógicas. "O processo é PowerShell E o pai é um aplicativo do Office" é uma conjunção; acrescentar OU amplia uma regra; acrescentar NÃO a estreita. Escrever as condições em lógica deixa seu escopo explícito e testável, e é assim que o formato Sigma expressa a lógica de detecção. Erros de lógica produzem erros reais: escrever OU onde se queria E pode transformar uma regra precisa numa que dispara em todo documento do Office. Tabelas-verdade ajudam a conferir regras pequenas, listando cada combinação de condições e o resultado esperado. As regras Sigma usam seleções nomeadas unidas numa linha de condição, o que mantém a lógica legível mesmo quando cada seleção tem muitos campos.
2.3 Relações e grafos
Um logon do usuário u no host h é um par (u, h). Juntos, os pares formam um grafo bipartido. Uma conta que de repente se conecta a muitos hosts novos aparece como um nó cujo grau salta. Grau, aqui, significa o número de hosts distintos que uma conta toca numa janela de tempo. Uma conta do suporte técnico pode normalmente se conectar a dezenas, enquanto um auxiliar de folha de pagamento se conecta a dois ou três, de modo que o salto importa em relação ao histórico de cada conta. Os grafos também mostram caminhos, como uma conta que chega a um servidor por um host intermediário, coisa que listas de pares escondem.
2.4 Contagem
Regras de correlação combinam eventos. Com 7 tipos de evento, uma regra sobre quaisquer 3 tipos em ordem tem 7 × 6 × 5 = 210 possibilidades. A contagem mostra por que a correlação exaustiva explode e por que as regras precisam ser escolhidas a partir do conhecimento de ameaças, como as técnicas do MITRE ATT&CK. Se a ordem não importa, a contagem cai para a combinação de 7 escolhe 3, que é 35, mas acrescentar janelas de tempo e condições de campo multiplica de novo as possibilidades. Nenhuma equipe consegue escrever e testar centenas de correlações, então o conhecimento de ameaças estreita a busca às sequências que os atacantes de fato usam. O ATT&CK oferece essa base ao descrever técnicas observadas em intrusões reais.
2.5 Uso no caso
Durante a rajada no portal, Amara lista F (nomes de usuário com falhas a partir de 203.0.113.0/24) e S (nomes de usuário com sucesso a partir da mesma rede). Um nome, u5, está nos dois: uma conta de cliente candidata a comprometida. A faixa de endereços 203.0.113.0/24 é reservada para documentação, o que convém a um caso sintético. Amara escreve os dois conjuntos de forma explícita, o que permite a Paolo conferir o raciocínio dela linha a linha. O próximo passo não é bloquear u5 de imediato, mas verificar os detalhes do sucesso, como horário, dispositivo e o que a sessão fez, antes de decidir a ação.
2.6 Precisão da linguagem
A matemática discreta obriga a uma linguagem exata: "muitos" vira "mais de 5 nomes de usuário distintos em 10 minutos". Essa precisão torna as regras revisáveis. Revisável significa que outro analista pode ler a regra e concordar, ou discordar, sobre o que ela deveria pegar. "Muitos" convida a discussões; "mais de cinco em dez minutos" convida a um teste. A versão precisa também pode ser ajustada com evidências, contando com que frequência usuários legítimos ultrapassam cinco falhas em dez minutos e ajustando o limiar com dados, e não com opinião. Todo limiar deve trazer suas unidades.
Exemplo resolvido
Amara escreve a condição da regra assim: count(distinct username where result = fail and source in N, 10 min) > 5 AND exists(username in that set where result = ok). Paolo observa que a segunda cláusula transforma um alerta ruidoso de spray num alerta mais certeiro de "possível comprometimento".
Caso sintético. Os nomes de usuário e as redes são sintéticos.
Erros e limites
A lógica de conjuntos é exata, mas os dados não são: logs ausentes tornam os conjuntos incompletos, então resultados vazios não provam ausência.
Exercícios
- EX004 — Interseção. Por que F ∩ S importa no caso do portal?
Mostrar critérios de avaliação
Rubrica: 3 = contas que falharam e depois tiveram sucesso a partir da mesma rede: possíveis credenciais adivinhadas; 2 = parcial; 1 = só a definição de conjunto; 0 = nada. - EX005 — Contagem de correlações. Quantas sequências ordenadas de 3 tipos saem de 7 tipos de evento, e o que isso implica?
Mostrar critérios de avaliação
Rubrica: 3 = 210; a correlação exaustiva explode, escolha pelo conhecimento de ameaças; 2 = só o número; 1 = número errado; 0 = nada. - EX006 — Regra mais certeira. O que a segunda cláusula da regra de Amara acrescenta?
Mostrar critérios de avaliação
Rubrica: 3 = transforma o alerta de spray em alerta de possível comprometimento ao exigir um sucesso; 2 = parcial; 1 = vago; 0 = nada.
Síntese
Conjuntos, lógica, grafos e contagem dão significado exato às regras de detecção e mostram por que a escolha das regras deve ser guiada pelo conhecimento de ameaças.
Continue estudando — capítulo 02 de 50
← Capítulo 01 (rascunho) · Índice de capítulos do curso · Capítulo 03 (rascunho) →