Capítulo 18 — Arquitetura de segurança
Mapa da aula
Aula 18 publicada. Mapa, exemplo, EX052.
flowchart TD
N0["18.1 Princípios de projeto"]
N1["18.2 Zonas e fronteiras"]
N2["18.3 Avaliando opções"]
N3["18.4 Projeto aberto"]
N0 --> N1 --> N2 --> N3
N3 --> EX["Exemplo resolvido"]
EX --> Q["Exercício EX052"]
Desenho lógico
flowchart LR
N0["18.1 Princípios de projeto"]
N1["18.2 Zonas e fronteiras"]
N2["18.3 Avaliando opções"]
N3["18.4 Projeto aberto"]
N0 --> N1 --> N2 --> N3 --> Q["EX052"]
[18.1 Princípios de projeto]
|
v
[18.2 Zonas e fronteiras]
|
v
[18.3 Avaliando opções]
|
v
[18.4 Projeto aberto]
|
v
[Exemplo resolvido] --> [Exercício EX052]
Objetivos de aprendizagem
Você vai (1) aplicar os princípios clássicos de projeto; (2) projetar zonas e fronteiras de confiança; (3) avaliar arquiteturas contra os princípios.
18.1 Princípios de projeto
Lindiwe lê o artigo de Saltzer e Schroeder de 1975 sobre a proteção da informação em sistemas computacionais. Ele lista princípios que ainda orientam a arquitetura: economia de mecanismo, padrões à prova de falhas, mediação completa, projeto aberto, separação de privilégios, privilégio mínimo, mínimo mecanismo comum e aceitabilidade psicológica. Ela os relaciona à Saltmarsh. Padrões à prova de falhas significam que os novos funcionários não recebem acesso até a aprovação; mediação completa significa que cada pedido é conferido, e não apenas o primeiro. Ela observa que os princípios são antigos, mas amplamente citados. O Prof. Hale pede que ela dê um exemplo da Saltmarsh para cada princípio.
18.2 Zonas e fronteiras
Lindiwe projeta zonas para a Saltmarsh: uma zona voltada para a internet para o site e a interface do aplicativo dos motoristas, uma zona interna para os funcionários, uma zona restrita para a folha de pagamento e uma zona de gerenciamento para os administradores. O tráfego entre as zonas passa por controles que impõem regras. Ela marca as fronteiras de confiança no diagrama anterior. O Prof. Hale pergunta que princípio cada fronteira sustenta; ela identifica o privilégio mínimo e a mediação completa como os principais. Ela lista numa tabela o tráfego permitido entre cada par de zonas, e a equipe de rede a usa como conjunto inicial de regras.
18.3 Avaliando opções
Existem duas opções de arquitetura para a interface do aplicativo dos motoristas: acesso direto ao banco de dados do despacho ou um serviço intermediário que expõe apenas as funções necessárias. Lindiwe avalia as duas contra os princípios. O serviço intermediário segue melhor o privilégio mínimo e a economia de mecanismo, porque o banco de dados nunca é exposto. Ele acrescenta trabalho de desenvolvimento. Ela registra a avaliação num registro de decisão, e os desenvolvedores escolhem o serviço intermediário. O registro de decisão lista as duas opções, os princípios que cada uma sustenta e o tempo extra estimado de desenvolvimento. O Prof. Hale elogia o registro por tornar o raciocínio visível.
18.4 Projeto aberto
Saltzer e Schroeder defenderam que a segurança não deve depender de os atacantes desconhecerem o projeto. Lindiwe aplica isso à ferramenta própria de transferência de arquivos da Saltmarsh, cuja segurança dependia de uma porta não documentada. Ela recomenda autenticação e cifração que continuem seguras mesmo que o projeto seja publicado. O Prof. Hale observa que o projeto aberto também permite a revisão, já que especialistas externos podem examinar um projeto publicado e encontrar fraquezas antes dos atacantes. A ferramenta é substituída por um serviço padrão de transferência cifrada dentro do ano. Sua configuração é documentada abertamente para a equipe de operações.
Exemplo resolvido
Lindiwe relaciona os princípios de Saltzer e Schroeder à Saltmarsh, projeta quatro zonas, escolhe um serviço intermediário pelo privilégio mínimo e substitui a dependência do sigilo do projeto.
Caso sintético. As arquiteturas são sintéticas.
Erros e limites
Depender de uma porta não documentada é obscuridade, não proteção.
Exercícios
-
EX052 — Padrões à prova de falhas. O que os padrões à prova de falhas significam para os novos funcionários? Rubrica: 3 = nenhum acesso até a aprovação;; 2 = parcialmente correto;; 1 = vago;; 0 = nenhuma.
-
EX053 — Opção escolhida. Que opção os desenvolvedores escolhem? Rubrica: 3 = o serviço intermediário;; 2 = parcialmente correto;; 1 = direta;; 0 = nenhuma.
-
EX054 — Projeto aberto. De que a ferramenta de transferência dependia? Rubrica: 3 = uma porta não documentada;; 2 = parcialmente correto;; 1 = outra coisa;; 0 = nenhuma.
Continue estudando — aula 18 (capítulo 18 de 50)
← Capítulo 17 · Índice das aulas · Capítulo 19 →
Continue para a próxima aula já escrita.