OpenCyber Academy
Engenharia · Capítulo 40 · Português
Código do curso: OCA-133Capítulo 40: OCA-133-C040

Capítulo 40 — Laboratório de verificação II

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 40 publicada. Mapa, exemplo, EX118.

flowchart TD
  N0["40.1 Verificação não funcional"]
  N1["40.2 Injeção de falhas"]
  N2["40.3 Testes negativos dos controles"]
  N3["40.4 Relatório de verificação"]
  N4["40.5 Nova verificação"]
  N5["Nota de prática — empacotamento das evidências"]
  N6["Risco residual"]
  N7["Síntese"]
  N0 --> N1 --> N2 --> N3 --> N4 --> N5 --> N6 --> N7
  N7 --> EX["Exemplo resolvido"]
  EX --> Q["Exercício EX118"]

Desenho lógico

flowchart LR
  N0["40.1 Verificação não funcional"]
  N1["40.2 Injeção de falhas"]
  N2["40.3 Testes negativos dos controles"]
  N3["40.4 Relatório de verificação"]
  N4["40.5 Nova verificação"]
  N5["Nota de prática — empacotamento das evidências"]
  N6["Risco residual"]
  N7["Síntese"]
  N0 --> N1 --> N2 --> N3 --> N4 --> N5 --> N6 --> N7 --> Q["EX118"]
[40.1 Verificação não funcional]
    |
    v
[40.2 Injeção de falhas]
    |
    v
[40.3 Testes negativos dos controles]
    |
    v
[40.4 Relatório de verificação]
    |
    v
[40.5 Nova verificação]
    |
    v
[Nota de prática — empacotamento das evidências]
    |
    v
[Risco residual]
    |
    v
[Síntese]
    |
    v
[Exemplo resolvido] --> [Exercício EX118]

Objetivos de aprendizagem

Você vai (1) verificar requisitos não funcionais — desempenho, disponibilidade, segurança; (2) executar testes de injeção de falhas com segurança; (3) verificar os controles de TLP e de privacidade com testes negativos; (4) compilar um relatório de verificação.

40.1 Verificação não funcional

Desempenho: injetar pacotes sintéticos a 150% da taxa de pico e verificar os percentis do tempo até a aplicação. Disponibilidade: derrubar uma instância de enriquecimento e verificar se o serviço continua. Segurança: tentar exportações restritas com contas de teste sem permissão. Kofi escolheu o número de carga para cobrir um dia movimentado de campanha com margem. O teste de disponibilidade para uma instância enquanto o tráfego sintético continua e confere se os percentis do tempo até a aplicação permanecem dentro da meta. Os testes de segurança usam contas criadas para teste, de modo que suas permissões são conhecidas com exatidão, e cada tentativa é registrada.

40.2 Injeção de falhas

As falhas são injetadas em homologação: o substituto do parceiro retorna erros, introduz-se uma defasagem de relógio, o armazenamento se enche. Cada teste declara o comportamento degradado esperado e o verifica. A injeção de falhas nunca mira a produção nem sistemas de parceiros. A lista de falhas de Kofi veio da análise de falhas: cada modo de falha bem classificado tem pelo menos um teste de injeção. O teste de defasagem de relógio do exemplo resolvido encontrou um problema real que, de outra forma, só apareceria em produção. Os testes restauram o estado normal ao final e conferem se a recuperação está completa.

40.3 Testes negativos dos controles

Tente exportar um relatório RED para um destinatário não nomeado; tente enviar uma regra de OT sem aprovação; tente armazenar um perfil pessoal de rede social pelo módulo de OSINT. Toda tentativa precisa falhar e ser registrada. Kofi escreve a entrada de registro esperada para cada teste antes de executá-lo, de modo que um teste que falha, mas não deixa registro, também conta como falha. O teste de OSINT usa um perfil inventado no substituto local, então nenhuma plataforma real é contatada. Os registros são conferidos depois.

40.4 Relatório de verificação

Resumo dos procedimentos executados, aprovações, falhas, desvios, itens bloqueados, defeitos abertos com severidade e responsáveis, e riscos residuais. O relatório vai para a revisão de projeto do Capítulo 45. Kofi escreve o resumo para leitores que não vão abrir os procedimentos. Ele começa pelo resultado geral e pelos riscos residuais e depois lista as falhas com sua severidade. Os itens bloqueados são relatados à parte das aprovações, porque um procedimento que não pôde ser executado não diz nada aos revisores sobre o requisito. Os procedimentos completos e as evidências ficam ligados para quem quiser conferir uma afirmação.

40.5 Nova verificação

Depois das correções, os procedimentos que falharam são executados de novo, e a suíte de regressão roda por completo. Executar a suíte inteira, e não apenas os procedimentos que falharam, pega correções que quebram outra coisa. Depois da correção do relógio no exemplo resolvido, Kofi executou de novo o teste de defasagem e depois toda a suíte de regressão. Os dois passaram, e o relatório registra a nova execução com a data, a versão do código e os hashes das evidências. Uma correção que não foi verificada de novo continua aberta na lista de defeitos, por mais confiante que esteja o engenheiro que a fez.

Nota de prática — empacotamento das evidências

Os registros e as saídas de cada procedimento recebem hash e são armazenados com o relatório, para que os revisores possam conferir se as evidências correspondem ao que o relatório afirma.

Risco residual

O relatório termina com os riscos que a verificação não conseguiu tratar, como o comportamento diante de formatos de parceiros nunca vistos nos testes, para que os revisores os pesem explicitamente em vez de supor cobertura. Cada risco residual indica um responsável e uma forma de monitoramento.

Exemplo resolvido

A 150% da carga, o p95 do tempo até a aplicação é de 22 minutos, para um requisito de 30 minutos: aprovado. O teste de defasagem de relógio mostra carimbos de tempo dos avistamentos adiantados ou atrasados em cinco minutos: falha; acrescenta-se monitoramento de NTP. Os seis testes negativos de controle bloqueiam e registram corretamente.

Caso sintético. Os resultados são inventados.

Erros e limites

A homologação difere da produção; registre as diferenças. Passar nos testes negativos mostra que esses ataques falham, não que nenhum ataque tenha sucesso.

Exercícios

Síntese

Verifique desempenho, disponibilidade e controles com carga, falhas e testes negativos em homologação, e empacote as evidências.

Continue estudando — capítulo 40 de 50

← Capítulo 39 (rascunho) · Índice de capítulos do curso · Capítulo 41 (rascunho) →

Respostas comentadas

EX118. Enviar ao módulo de OSINT a URL de um perfil pessoal sintético de rede social; esperar rejeição com o motivo personal profile source not permitted e uma entrada de registro.

EX119. Aprovado: o percentil 95 de 22 minutos está dentro do requisito de 30 minutos.

EX120. Em homologação, apenas com substitutos sintéticos; nunca contra sistemas de produção ou servidores de parceiros.