OpenCyber Academy
Engenharia · Capítulo 21 · Português
Código do curso: OCA-122Capítulo 21: OCA-122-C021

Capítulo 21 — Arquitetura e engenharia de segurança: requisitos

Ensino gratuito e aberto para quem deseja proteger pessoas e tecnologias. Não é preciso criar uma conta para estudar ou consultar as respostas.

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

Síntese

Bons requisitos de segurança são verificáveis, fundamentados em casos de abuso e conferidos com catálogos, com justificativa.

Respostas comentadas

EX061. Reembolsos acima de cinquenta euros devem exigir a aprovação de uma segunda pessoa distinta do solicitante, verificada por teste.

EX062. Cada registro de validação deve ter um identificador único, e os duplicados devem ser detectados e rejeitados.

EX063. Para procurar lacunas nos seus requisitos; ele revelou que faltava um requisito de proteção e revisão de logs.