Capítulo 16 — Engenharia de sistemas
Mapa da aula
Aula 16 publicada. Mapa, exemplo, EX046.
flowchart TD
N0["16.1 Pensamento sistêmico"]
N1["16.2 Rastreabilidade dos requisitos"]
N2["16.3 Ciclo de vida"]
N3["16.4 Compromissos"]
N0 --> N1 --> N2 --> N3
N3 --> EX["Exemplo resolvido"]
EX --> Q["Exercício EX046"]
Desenho lógico
flowchart LR
N0["16.1 Pensamento sistêmico"]
N1["16.2 Rastreabilidade dos requisitos"]
N2["16.3 Ciclo de vida"]
N3["16.4 Compromissos"]
N0 --> N1 --> N2 --> N3 --> Q["EX046"]
[16.1 Pensamento sistêmico]
|
v
[16.2 Rastreabilidade dos requisitos]
|
v
[16.3 Ciclo de vida]
|
v
[16.4 Compromissos]
|
v
[Exemplo resolvido] --> [Exercício EX046]
Objetivos de aprendizagem
Você vai (1) aplicar o pensamento sistêmico à segurança; (2) gerenciar requisitos e interfaces; (3) planejar a segurança ao longo do ciclo de vida do sistema.
16.1 Pensamento sistêmico
A segurança de um sistema depende de como suas partes interagem. Lindiwe estuda o sistema de despacho da Saltmarsh: uma aplicação web, um banco de dados, uma fila de mensagens, os celulares dos motoristas e um serviço externo de mapas. Uma fraqueza em qualquer interface poderia afetar o todo. O Prof. Hale pede que ela liste cada interface com os dados que a atravessam e a confiança presumida. Ela descobre que o serviço de mapas recebe os endereços de entrega completos, algo que ninguém tinha considerado quando o contrato foi assinado. A equipe de compras revisa o contrato e pergunta ao fornecedor por quanto tempo os endereços são guardados.
16.2 Rastreabilidade dos requisitos
Lindiwe rastreia cada requisito de segurança até o componente que o implementa e o teste que o verifica. Por exemplo, o requisito de que as confirmações não podem ser alteradas depois de enviadas corresponde a uma restrição do banco de dados e a um teste que tenta uma atualização. Ela encontra dois requisitos sem teste. O Prof. Hale explica que a rastreabilidade mostra as lacunas cedo e dá evidências aos auditores, porque um requisito sem teste é apenas uma intenção que ninguém conferiu. Os desenvolvedores escrevem os dois testes que faltavam antes da próxima versão, e Lindiwe atualiza sua tabela de rastreabilidade para mostrar cada requisito coberto.
16.3 Ciclo de vida
As necessidades de segurança mudam ao longo da vida de um sistema: projeto, construção, operação, mudança e desativação. Lindiwe observa que a desativação muitas vezes é esquecida. Um servidor de despacho antigo, substituído no ano passado, ainda roda com software desatualizado e guarda cópias de dados de clientes. Ela recomenda uma lista de verificação de desativação que cubra a exclusão dos dados, a remoção das contas e a desconexão da rede. Ela aprende que cada etapa do ciclo de vida precisa de atividades de segurança explícitas, e não apenas o projeto e a construção. O servidor antigo é apagado e desconectado em menos de um mês depois do relatório dela. A equipe de infraestrutura acrescenta a lista de verificação de desativação ao seu processo padrão de mudanças, para que as futuras desativações sigam as mesmas etapas.
16.4 Compromissos
A engenharia de sistemas equilibra necessidades concorrentes. Uma autenticação mais forte para os motoristas acrescenta alguns segundos por entrega, o que pesa ao longo de milhares de entregas por dia. Lindiwe mede o tempo acrescentado por um aviso sintético de multifator e propõe lembrar os dispositivos confiáveis durante um turno. O Prof. Hale observa que as escolhas de segurança que ignoram o custo operacional tendem a ser contornadas, e que documentar os compromissos abertamente ajuda os gerentes a aceitar deliberadamente o risco restante. O aviso sintético acrescenta cerca de quatro segundos por login. Com os dispositivos lembrados, os motoristas se autenticam uma vez por turno em vez de a cada entrega, e o gerente de operações aceita esse desenho.
Exemplo resolvido
Lindiwe lista as interfaces do despacho e descobre endereços compartilhados com um serviço de mapas, rastreia os requisitos até os testes, acrescenta uma lista de verificação de desativação e equilibra o atraso da autenticação com o tempo de entrega.
Caso sintético. Os sistemas são sintéticos.
Erros e limites
Servidores desativados e esquecidos muitas vezes mantêm dados antigos e vulnerabilidades antigas.
Exercícios
-
EX046 — Dados dos mapas. Que dados o serviço de mapas recebe? Rubrica: 3 = os endereços de entrega completos;; 2 = parcialmente correto;; 1 = vago;; 0 = nenhuma.
-
EX047 — Requisitos sem teste. Quantos requisitos não tinham teste? Rubrica: 3 = dois;; 2 = parcialmente correto;; 1 = errado;; 0 = nenhuma.
-
EX048 — Lista de desativação. O que a lista de verificação de desativação cobre? Rubrica: 3 = exclusão dos dados, remoção das contas, desconexão;; 2 = todos;; 1 = alguns;; 0 = nenhuma.
Continue estudando — aula 16 (capítulo 16 de 50)
← Capítulo 15 · Índice das aulas · Capítulo 17 →
Continue para a próxima aula já escrita.