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
-
EX064 — Problema de contorno. Que problema de projeto o modelo de componentes revelou? Rubrica: 3 = relatórios lendo diretamente o banco de viagens, contornando os controles de acesso;; 2 = contorno;; 1 = vago;; 0 = nenhuma.
-
EX065 — Fluxos de dados pessoais. De que precisam os fluxos que levam dados pessoais através de fronteiras? Rubrica: 3 = criptografia e autenticação;; 2 = as duas;; 1 = vago;; 0 = nenhuma.
-
EX066 — Resposta à deriva. O que significa quando os fluxos observados incluem um que não está no modelo? Rubrica: 3 = ou o modelo ou o sistema está errado; investigar os dois;; 2 = investigar;; 1 = ignorar;; 0 = nenhuma.
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.