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

Capítulo 22 — Arquitetura e engenharia de segurança: 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 — Arquitetura e engenharia de segurança: modelos de sistema e de dados

Mapa da aula

Aula 22 publicada. Mapa, exemplo, EX064.

flowchart TD
  N0["22.1 Modelo de componentes e interfaces"]
  N1["22.2 Fronteiras e classificações"]
  N2["22.3 Manter os modelos fiéis"]
  N3["Síntese"]
  N0 --> N1 --> N2 --> N3
  N3 --> EX["Exemplo resolvido"]
  EX --> Q["Exercício EX064"]

Desenho lógico

flowchart LR
  N0["22.1 Modelo de componentes e interfaces"]
  N1["22.2 Fronteiras e classificações"]
  N2["22.3 Manter os modelos fiéis"]
  N3["Síntese"]
  N0 --> N1 --> N2 --> N3 --> Q["EX064"]
[22.1 Modelo de componentes e interfaces]
    |
    v
[22.2 Fronteiras e classificações]
    |
    v
[22.3 Manter os modelos fiéis]
    |
    v
[Síntese]
    |
    v
[Exemplo resolvido] --> [Exercício EX064]

Objetivos de aprendizagem

Você vai (1) modelar o back-office com componentes, interfaces e fluxos de dados; (2) marcar no modelo as fronteiras de confiança e as classificações dos dados; (3) manter os modelos coerentes com o sistema.

22.1 Modelo de componentes e interfaces

Sofia modela o back-office de bilhetagem como componentes: ingestão das validações, construção das viagens, cálculo das tarifas, reembolsos, relatórios e uma camada de integração com o provedor de pagamentos. Cada componente tem interfaces definidas, com formatos de mensagem e requisitos de autenticação. Modelar as interfaces explicitamente ajuda a encontrar lugares onde os dados entram sem validação ou onde um componente confia em outro mais do que deveria. Ela percebe que os relatórios leem diretamente do banco de viagens, em vez de passar por uma interface, contornando os controles de acesso, e registra isso como um problema de projeto para revisão.

22.2 Fronteiras e classificações

Na versão de fluxo de dados do modelo, Sofia marca as fronteiras de confiança: entre os validadores e a ingestão, entre o back-office e o provedor de pagamentos e entre o back-office e as estações de trabalho da equipe. Ela rotula cada fluxo de dados com sua classificação do capítulo 13. Os fluxos que levam dados pessoais através de fronteiras precisam de criptografia e autenticação; os que levam dados públicos precisam de integridade. O modelo rotulado se torna a base da modelagem de ameaças do próximo capítulo. Ele também facilita responder à pergunta de um auditor sobre por onde os dados pessoais trafegam.

22.3 Manter os modelos fiéis

Os modelos se afastam da realidade à medida que os sistemas mudam. Sofia propõe três práticas: guardar o modelo no controle de versão ao lado do código, revisá-lo em toda revisão de projeto e compará-lo a cada trimestre com os fluxos de rede observados e os logs de acesso. Quando a comparação encontra um fluxo que não está no modelo, ou o modelo ou o sistema está errado, e vale a pena saber qualquer das duas coisas. Daniel observa que diagramas desatualizados são piores do que nenhum, porque dão uma falsa confiança, então o modelo precisa ter um responsável por mantê-lo exato.

Exemplo resolvido

Sofia modela seis componentes do back-office, encontra os relatórios contornando os controles de acesso, rotula os fluxos pela classificação e estabelece verificações trimestrais entre o modelo e a realidade.

Caso sintético. Os componentes e os fluxos são sintéticos.

Erros e limites

Os modelos abstraem detalhes onde falhas podem se esconder. Os fluxos observados podem não incluir caminhos raros usados só durante incidentes.

Exercícios

Síntese

Modelos precisos de sistemas e de dados, com fronteiras e classificações, são a base da análise de ameaças e das respostas a auditorias.

Continue estudando — aula 22 (capítulo 22 de 50)

← Capítulo 21 · Índice das aulas · Capítulo 23 →

Continue para a próxima aula já escrita.