◇ OpenCyber Academy
Engenharia · Capítulo 22 · Português

Capítulo 22 — Inteligência de ameaças e OSINT: modelos de sistema e de dados

Ensino gratuito e aberto para quem deseja proteger pessoas e tecnologias. Não é preciso criar uma conta para estudar ou consultar as respostas.

Capítulo 22 — Inteligência de ameaças e OSINT: modelos de sistema e de dados

Mapa da aula

Aula 22 publicada. Mapa, exemplo, EX064.

flowchart TD
  N0["22.1 Núcleo do STIX 2.1"]
  N1["22.2 Escolhendo um subconjunto"]
  N2["22.3 Confiança e marcações"]
  N3["22.4 Validação"]
  N4["22.5 Modelo do sistema"]
  N5["Nota de prática — Mapeando referências externas"]
  N6["Síntese"]
  N0 --> N1 --> N2 --> N3 --> N4 --> N5 --> N6
  N6 --> EX["Exemplo resolvido"]
  EX --> Q["Exercício EX064"]

Desenho lógico

flowchart LR
  N0["22.1 Núcleo do STIX 2.1"]
  N1["22.2 Escolhendo um subconjunto"]
  N2["22.3 Confiança e marcações"]
  N3["22.4 Validação"]
  N4["22.5 Modelo do sistema"]
  N5["Nota de prática — Mapeando referências externas"]
  N6["Síntese"]
  N0 --> N1 --> N2 --> N3 --> N4 --> N5 --> N6 --> Q["EX064"]
[22.1 Núcleo do STIX 2.1]
    |
    v
[22.2 Escolhendo um subconjunto]
    |
    v
[22.3 Confiança e marcações]
    |
    v
[22.4 Validação]
    |
    v
[22.5 Modelo do sistema]
    |
    v
[Nota de prática — Mapeando referências externas]
    |
    v
[Síntese]
    |
    v
[Exemplo resolvido] --> [Exercício EX064]

Objetivos de aprendizagem

Você vai (1) modelar os dados do Lantern com objetos e relacionamentos STIX 2.1; (2) escolher quais objetos STIX suportar; (3) modelar procedência e confiança; (4) validar objetos contra as propriedades obrigatórias.

22.1 Núcleo do STIX 2.1

O STIX 2.1 define objetos de domínio (indicator, malware, threat-actor, campaign, attack-pattern, report e outros), objetos observáveis cibernéticos (domain-name, ipv4-addr, file) e objetos de relacionamento e de avistamento. Todo objeto de domínio precisa de type, spec_version, id, created e modified; os indicadores também precisam de pattern, pattern_type e valid_from. O validador do Lantern verifica essas propriedades obrigatórias em cada objeto antes de qualquer outra coisa. Indicadores são o tipo que a maioria dos parceiros envia, e seu campo de padrão contém a condição a casar, como o valor de um domínio. Kofi mantém um guia interno curto com exemplos de objetos válidos para cada tipo suportado, que os parceiros acharam útil ao depurar as próprias exportações.

22.2 Escolhendo um subconjunto

O Lantern suporta indicator, attack-pattern (ligado a IDs do ATT&CK por referências externas), campaign, threat-actor, malware, report, relationship e sighting. Tipos não suportados são armazenados de forma opaca e sinalizados para revisão, em vez de descartados. Kofi escolheu o subconjunto contando o que os parceiros de fato enviaram em três meses e o que os analistas de fato consultaram. Tipos que apareciam raramente e que ninguém pesquisava ficaram de fora, o que poupou a construção de telas e regras de validação para eles. Armazenar os objetos não suportados como registros opacos significa que nada se perde se surgir uma necessidade depois, e a sinalização para revisão mostra com que frequência chega cada tipo não suportado.

22.3 Confiança e marcações

O STIX oferece uma propriedade confidence (0–100) e definições de marcação, incluindo marcações TLP. O Lantern converte sua confiança interna com decaimento para essa propriedade na exportação e anexa marcações TLP 2.0 a todo objeto compartilhado. Como cada produtor define a confiança à sua maneira, o Lantern registra o valor enviado pelo parceiro ao lado de sua própria pontuação. Assim os analistas veem quando a visão da BEN difere da visão da fonte. Na exportação, a marcação TLP é escolhida pelo rótulo mais restritivo entre as fontes, e um objeto sem rótulo de sua fonte não é compartilhado até que um analista lhe atribua um.

22.4 Validação

Antes de armazenar, o validador verifica as propriedades obrigatórias e o formato do identificador. O laboratório de mestrado desta família de cursos verifica as mesmas regras; o Lantern as aplica no pipeline e conta as falhas por fonte. As contagens de falhas por fonte alimentam os relatórios de qualidade de dados dos parceiros. Kofi descobriu que a maioria das falhas vinha de dois parceiros, ambos enviando carimbos de tempo sem fuso horário. Uma nota curta a cada parceiro, com exemplos, resolveu o problema em um mês. O validador rejeita em vez de consertar, porque um carimbo de tempo consertado dependeria de um palpite sobre o fuso que o parceiro pretendia.

22.5 Modelo do sistema

Além dos dados: os componentes (coletor, validador, armazenamento, enriquecedor, interface do analista, publicador), suas interfaces e seus estados. Uma máquina de estados para um indicador — novo, ativo, decaído, aposentado — torna o comportamento explícito. A máquina de estados impede combinações estranhas, como um indicador aposentado ainda sendo enviado aos firewalls. Kofi listou cada transição permitida com seu gatilho: um objeto novo fica ativo após a validação, decai com o passar do tempo sem avistamentos e é aposentado quando cruza o piso. Um avistamento pode levar um indicador decaído de volta a ativo. Qualquer transição fora da lista é um erro e é registrada.

Nota de prática — Mapeando referências externas

Objetos attack-pattern carregam referências externas às páginas de técnicas do ATT&CK, por exemplo T1566 Phishing. O Lantern valida que essas referências usem IDs de técnica reais, porque IDs digitados errado quebram silenciosamente os relatórios de cobertura de detecção que agrupam os achados por técnica.

Exemplo resolvido

Um parceiro envia um objeto threat-actor sem spec_version. O Lantern o rejeita com um motivo, armazena o hash e avisa o contato de dados do parceiro. A exportação seguinte do parceiro inclui a propriedade.

Caso sintético. O objeto e o parceiro são inventados.

Erros e limites

O STIX é expressivo; suportar tudo acrescenta complexidade sem valor. Números de confiança de produtores diferentes não são diretamente comparáveis.

Exercícios

Síntese

Use um subconjunto deliberado do STIX, valide as propriedades obrigatórias, carregue confiança e marcações TLP e torne os estados explícitos.

Continue estudando — capítulo 22 de 50

← Capítulo 21 (rascunho) · Índice de capítulos do curso · Capítulo 23 (rascunho) →