Mapa da aula
Aula 21 publicada. Mapa, exemplo, EX061.
flowchart TD
N0["21.1 Requisitos verificáveis"]
N1["21.2 Casos de abuso"]
N2["21.3 Selecionar controles"]
N3["Síntese"]
N0 --> N1 --> N2 --> N3
N3 --> EX["Exemplo resolvido"]
EX --> Q["Exercício EX061"]
Desenho lógico
flowchart LR
N0["21.1 Requisitos verificáveis"]
N1["21.2 Casos de abuso"]
N2["21.3 Selecionar controles"]
N3["Síntese"]
N0 --> N1 --> N2 --> N3 --> Q["EX061"]
[21.1 Requisitos verificáveis]
|
v
[21.2 Casos de abuso]
|
v
[21.3 Selecionar controles]
|
v
[Síntese]
|
v
[Exemplo resolvido] --> [Exercício EX061]
Objetivos de aprendizagem
Você vai (1) escrever requisitos de segurança verificáveis; (2) derivar requisitos de necessidades de proteção e de casos de abuso; (3) selecionar controles de catálogos com justificativa.
21.1 Requisitos verificáveis
Um requisito como o sistema deve ser seguro não pode ser verificado. Sofia aprende a escrever requisitos que podem ser testados: aprovações de reembolso acima de cinquenta euros devem exigir um segundo aprovador distinto do solicitante; os registros de validação devem ser assinados pelo validador e rejeitados pelo back-office se a assinatura falhar; o acesso administrativo deve exigir autenticação multifator. Cada requisito nomeia quem ou o quê, a condição e o comportamento esperado. Ela acrescenta a cada um um método de verificação, como teste, inspeção ou análise, para que a equipe saiba desde o início como a conformidade será demonstrada.
21.2 Casos de abuso
Os casos de uso descrevem o que os usuários legítimos fazem; os casos de abuso descrevem o que atacantes ou insiders descuidados poderiam fazer. Sofia escreve casos de abuso para o back-office: um fraudador repete registros de validação assinados para criar viagens falsas e pedir reembolsos; um insider exporta históricos de viagem para vendê-los; uma conta de fornecedor comprometida envia uma tabela de tarifas maliciosa. Cada caso de abuso leva a requisitos, como detecção de replay com identificadores únicos de registro, registro e aprovação das exportações e tabelas de tarifas assinadas e verificadas antes do uso. Os casos de abuso tornam os requisitos concretos e ajudam as partes interessadas a entender por que cada um existe.
21.3 Selecionar controles
O NIST SP 800-53 Rev. 5 oferece um catálogo de controles; a ISO/IEC 27002:2022 oferece outro. Sofia os usa para procurar lacunas nos seus requisitos, e não para copiá-los por inteiro. Por exemplo, a família de auditoria e responsabilização do catálogo a lembra de exigir a proteção e a revisão dos logs, que ela havia esquecido. Para cada controle selecionado, ela registra o requisito que ele sustenta e o motivo. Selecionar controles com justificativa evita tanto lacunas quanto projetos inchados, que implementam controles de que ninguém precisa e consomem um orçamento que poderia tratar riscos reais.
Exemplo resolvido
Sofia escreve doze requisitos verificáveis com métodos de verificação e três casos de abuso com requisitos derivados, e usa o SP 800-53 Rev. 5 para encontrar um requisito de revisão de logs que faltava.
Caso sintético. Os requisitos e os casos de abuso são sintéticos; o SP 800-53 Rev. 5 e a ISO/IEC 27002:2022 são reais.
Erros e limites
Os requisitos podem entrar em conflito, como logging versus privacidade. Os catálogos são amplos; adaptá-los exige julgamento.
Exercícios
-
EX061 — Reescrita verificável. Reescreva o sistema deve ser seguro como um requisito verificável para reembolsos.
Mostrar critérios de avaliação
Rubrica: 3 = reembolsos acima de 50 euros exigem um segundo aprovador distinto do solicitante, verificado por teste;; 2 = verificável;; 1 = vago;; 0 = nenhuma. -
EX062 — Derivação do caso de abuso. Que requisito decorre do caso de abuso dos registros de validação repetidos?
Mostrar critérios de avaliação
Rubrica: 3 = identificadores únicos de registro com detecção de replay;; 2 = detecção de replay;; 1 = vago;; 0 = nenhuma. -
EX063 — Uso do catálogo. Como Sofia usou o SP 800-53 Rev. 5?
Mostrar critérios de avaliação
Rubrica: 3 = para procurar lacunas, encontrando um requisito de proteção e revisão de logs que faltava;; 2 = verificação de lacunas;; 1 = copiou tudo;; 0 = nenhuma.
Síntese
Bons requisitos de segurança são verificáveis, fundamentados em casos de abuso e conferidos com catálogos, com justificativa.