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

Capítulo 25 — Ateliê de projeto I

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 25 — Ateliê de projeto I

Mapa da aula

Aula 25 publicada. Mapa, exemplo, EX073.

flowchart TD
  N0["25.1 Enunciado do ateliê"]
  N1["25.2 ADRs"]
  N2["25.3 Revisão da banca"]
  N3["25.4 Iterando"]
  N4["25.5 Entregáveis"]
  N5["Nota de prática — Disciplina na demonstração"]
  N6["Síntese"]
  N0 --> N1 --> N2 --> N3 --> N4 --> N5 --> N6
  N6 --> EX["Exemplo resolvido"]
  EX --> Q["Exercício EX073"]

Desenho lógico

flowchart LR
  N0["25.1 Enunciado do ateliê"]
  N1["25.2 ADRs"]
  N2["25.3 Revisão da banca"]
  N3["25.4 Iterando"]
  N4["25.5 Entregáveis"]
  N5["Nota de prática — Disciplina na demonstração"]
  N6["Síntese"]
  N0 --> N1 --> N2 --> N3 --> N4 --> N5 --> N6 --> Q["EX073"]
[25.1 Enunciado do ateliê]
    |
    v
[25.2 ADRs]
    |
    v
[25.3 Revisão da banca]
    |
    v
[25.4 Iterando]
    |
    v
[25.5 Entregáveis]
    |
    v
[Nota de prática — Disciplina na demonstração]
    |
    v
[Síntese]
    |
    v
[Exemplo resolvido] --> [Exercício EX073]

Objetivos de aprendizagem

Você vai (1) produzir um primeiro projeto de ponta a ponta para o caminho de ingestão do Lantern; (2) apresentá-lo a uma banca de revisão; (3) registrar as decisões em registros de decisão de arquitetura (ADRs); (4) responder às críticas com mudanças no projeto.

25.1 Enunciado do ateliê

Projete o caminho das coleções TAXII 2.1 dos parceiros até um armazenamento pronto para os analistas: consulta periódica, validação, normalização, eliminação de duplicatas, procedência, aplicação do TLP e monitoramento. Restrições: protótipos só com a biblioteca padrão, dados sintéticos, modelo de zonas da BEN. A equipe de Kofi começou desenhando as zonas e colocando cada componente em uma delas antes de escrever qualquer código. A restrição de usar só a biblioteca padrão forçou projetos simples, que a banca conseguia ler por inteiro. Os dados sintéticos permitiram que cada teste fosse compartilhado com a banca e repetido exatamente, o que dados reais de parceiros, sob limites de compartilhamento, não permitiriam.

25.2 ADRs

Um registro de decisão de arquitetura expõe contexto, decisão, alternativas e consequências em uma página. "Consultar a cada 15 minutos em vez de assinar envio ativo" — contexto: o TAXII 2.1 é baseado em consulta para coleções; consequências: até 15 minutos de latência. A equipe de Kofi escreveu um registro para cada escolha que alguém poderia questionar depois. O intervalo de consulta foi uma delas; a escolha de rejeitar, e não consertar, carimbos de tempo malformados foi outra. Cada registro lista as opções consideradas e por que perderam. Quando a banca contestava uma escolha, a equipe podia apontar o registro em vez de reconstruir o raciocínio de memória.

25.3 Revisão da banca

A banca inclui um analista, um engenheiro de OT e um encarregado de privacidade. Cada um pergunta a partir de seu papel: É oportuno? A OT está protegida? Os dados pessoais estão minimizados? Cada revisor lê o projeto a partir de suas próprias preocupações, e suas perguntas raramente se sobrepõem. O analista perguntou quanto tempo um indicador de alta confiança levaria para chegar ao DNS. O engenheiro de OT perguntou se algo no projeto poderia enviar regras aos firewalls das subestações sem aprovação. A pergunta do encarregado de privacidade levou à mudança descrita no exemplo resolvido. Kofi registrou cada pergunta com a resposta dada.

25.4 Iterando

A crítica vira itens de backlog. Os projetos melhoram quando os estudantes os mudam em resposta, não quando defendem cada escolha. A equipe de Kofi registrou cada comentário da banca como item de backlog com responsável e decisão. A maioria dos comentários levou a mudanças pequenas; dois levaram a novos registros de decisão; um foi recusado com um motivo escrito que a banca aceitou. A equipe descobriu que aceitar depressa uma crítica justa rendia mais confiança do que uma defesa engenhosa. A segunda revisão da banca foi mais curta porque os comentários anteriores tinham sido visivelmente atendidos.

25.5 Entregáveis

Um diagrama, cinco ADRs, uma lista de interfaces, um plano de monitoramento e uma demonstração do pipeline com dados sintéticos. Cada item tem um propósito. O diagrama mostra a estrutura, os registros mostram o raciocínio, a lista de interfaces mostra o que precisa ser acordado com outros e o plano de monitoramento mostra como as falhas serão percebidas. A demonstração prova que o pipeline roda de ponta a ponta com o feed sintético. A equipe de Kofi entregou os cinco juntos, para que a banca pudesse verificar se a demonstração correspondia ao diagrama e aos registros.

Nota de prática — Disciplina na demonstração

A demonstração do ateliê roda com dados sintéticos a partir de um ambiente limpo, com os comandos roteirizados de antemão. Improvisar ao vivo diante de uma banca esconde defeitos e desperdiça tempo; uma execução roteirizada mostra o que o projeto realmente faz. Os estudantes ensaiam a execução roteirizada duas vezes antes da banca, uma delas em uma máquina nova, para que as surpresas de ambiente apareçam no ensaio e não diante dos revisores. Depois, os comentários da banca e as respostas da equipe são arquivados com os ADRs como registro do ateliê.

Exemplo resolvido

O encarregado de privacidade pergunta por que o projeto armazena os cabeçalhos completos dos e-mails dos relatos de phishing. O ADR de Kofi não tinha motivo. Ele muda o projeto para armazenar apenas o domínio do remetente, um hash do assunto e os campos de indicador, e escreve um novo ADR registrando a mudança.

Caso sintético. A banca do ateliê é inventada.

Erros e limites

Ateliês recompensam a clareza, não o volume. Um projeto sem monitoramento está incompleto.

Exercícios

Síntese

Projete de ponta a ponta, registre as decisões, convide críticas baseadas em papéis e mude o projeto quando a crítica estiver certa.

Continue estudando — capítulo 25 de 50

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