OpenCyber Academy
Engenharia · Capítulo 40 · Português
Código do curso: OCA-136Capítulo 40: OCA-136-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, EX079.

flowchart TD
  N0["40.1 Verificação do ponto de observação do atacante"]
  N1["40.2 Testes de rebaixamento"]
  N2["40.3 Testes de tratamento do estado"]
  N3["40.4 Relatório de verificação"]
  N4["Nota de engenharia"]
  N5["Síntese"]
  N0 --> N1 --> N2 --> N3 --> N4 --> N5
  N5 --> EX["Exemplo resolvido"]
  EX --> Q["Exercício EX079"]

Desenho lógico

flowchart LR
  N0["40.1 Verificação do ponto de observação do atacante"]
  N1["40.2 Testes de rebaixamento"]
  N2["40.3 Testes de tratamento do estado"]
  N3["40.4 Relatório de verificação"]
  N4["Nota de engenharia"]
  N5["Síntese"]
  N0 --> N1 --> N2 --> N3 --> N4 --> N5 --> Q["EX079"]
[40.1 Verificação do ponto de observação do atacante]
    |
    v
[40.2 Testes de rebaixamento]
    |
    v
[40.3 Testes de tratamento do estado]
    |
    v
[40.4 Relatório de verificação]
    |
    v
[Nota de engenharia]
    |
    v
[Síntese]
    |
    v
[Exemplo resolvido] --> [Exercício EX079]

Objetivos de aprendizagem

Você vai (1) verificar as proteções de ponta a ponta, num laboratório, a partir do ponto de observação de um atacante; (2) testar a resistência ao rebaixamento; (3) verificar o tratamento do estado das assinaturas com estado; e (4) produzir um relatório de verificação. O capítulo parte dos Capítulos 30–39.

40.1 Verificação do ponto de observação do atacante

Num laboratório isolado que replica a borda da BPA, capture handshakes e confirme o grupo negociado a partir da rede, e não dos logs do servidor. Verifique que as sessões gravadas com grupos híbridos exigiriam quebrar tanto o X25519 quanto o ML-KEM — conferindo que a derivação da chave de sessão inclui os dois compartilhamentos (o princípio do Laboratório C).

Os logs do servidor podem estar errados: uma biblioteca TLS pode registrar o primeiro grupo oferecido em vez do negociado, como o estagiário do Capítulo 43 descobre. Ler o ServerHello na rede dá o grupo real, e compará-lo com os logs verifica os dois de uma só vez.

40.2 Testes de rebaixamento

Um man-in-the-middle de laboratório remove os grupos híbridos do ClientHello. Esperado: a assinatura da transcrição do TLS 1.3 provoca a falha, ou o cliente tenta de novo sem o híbrido somente se a lógica da aplicação o permitir — o que o teste deve detectar e a política deve proibir onde possível. Execute apenas no laboratório.

O resultado esperado para um cliente correto é um handshake que falha, sem nova tentativa, já que a verificação da transcrição detecta o grupo removido. Se o cliente tenta de novo sem o grupo híbrido e tem sucesso, o teste encontrou um caminho de rebaixamento no nível da aplicação. Repita o teste para cada biblioteca cliente no escopo, porque o comportamento de nova tentativa difere entre elas.

40.3 Testes de tratamento do estado

Para LMS/XMSS: simule a restauração do HSM a partir de um backup e confirme que o HSM se recusa a reutilizar índices; simule pedidos de assinatura simultâneos e confirme que não há índice duplicado; esgote uma pequena árvore de teste e confirme que a assinatura para de forma limpa.

O teste de assinatura simultânea importa porque um serviço de assinatura sob carga pode entregar o mesmo índice a dois pedidos se a atualização do contador não for atômica. Esgotar uma pequena árvore de teste, por exemplo uma de altura cinco com 32 assinaturas, permite à equipe verificar o comportamento de fim de chave em minutos, em vez de esperar anos. Cada resultado de teste entra no dossiê com a versão do firmware do HSM usada, já que uma atualização posterior do firmware pode mudar o comportamento.

40.4 Relatório de verificação

Relatório: escopo, ambiente, testes, resultados, desvios, problemas residuais, links para as evidências. Um bom relatório permite que um revisor execute os testes de novo.

Os desvios são a parte mais importante: um teste executado com outra versão de biblioteca ou numa rede simplificada precisa dizê-lo, ou um revisor pode supor que os resultados valem para a produção. Os links para as evidências ligam cada resultado à sua captura ou log bruto. Os relatórios da BPA usam sempre os mesmos títulos, para que os revisores saibam onde procurar e as partes ausentes saltem aos olhos. Um relatório que não pode ser executado de novo é tratado como rascunho.

40.5 Exemplo resolvido

O laboratório da BPA descobre que uma biblioteca cliente interna tenta de novo com grupos somente clássicos após qualquer erro de handshake, inclusive os causados por um atacante. Correção: restringir a nova tentativa a erros de incompatibilidade específicos, registrar as novas tentativas e planejar a remoção do fallback para esse cliente até uma data definida.

Restringir a nova tentativa aos erros de incompatibilidade listados mantém a disponibilidade para pares genuinamente antigos, enquanto nega ao atacante a capacidade de disparar o fallback com um erro forjado. Registrar cada nova tentativa fornece os dados necessários para ver quando o fallback pode ser removido. A remoção datada torna a exceção temporária por projeto, e o teste de rebaixamento é executado de novo após a correção para confirmá-la.

40.6 Erros comuns e limites

Os logs do servidor refletem o que o software acredita, o que pode diferir da rede, então a verificação apenas pelos logs pode deixar escapar rebaixamentos reais. Os testes de rebaixamento em produção podem quebrar sessões dos parceiros, então eles ficam no laboratório isolado. Não testar a restauração do estado deixa a falha mais perigosa do LMS, a reutilização de índices após a restauração de um backup, sem exame até acontecer de verdade. Cada um desses testes leva horas no laboratório e evita falhas que levariam semanas para reparar em produção.

Nota de engenharia

Inclua controles negativos em cada execução do laboratório. Antes de testar a resistência ao rebaixamento, confirme que o arcabouço de testes consegue detectar um rebaixamento bem-sucedido, configurando deliberadamente um cliente que o permita; se mesmo assim o arcabouço não relatar nenhum rebaixamento, ele está quebrado. Os controles negativos são baratos e evitam a falha de verificação mais constrangedora — um relatório verde produzido por um teste que nunca poderia ter falhado.

Exercícios

Síntese

A verificação de segundo estágio confere as proteções a partir do ponto de observação do atacante, testa o rebaixamento e o tratamento do estado em isolamento e produz relatórios que podem ser executados de novo.

Respostas comentadas

EX079. Laboratório isolado com proxy MITM; remover os grupos híbridos; esperar falha do handshake ou nova tentativa registrada e permitida pela política; reprovar se ocorrer uma conexão silenciosa somente clássica onde a política a proíbe.

EX080. Restaurar o backup do HSM → assinatura recusada até a reconciliação; 100 pedidos simultâneos → todos os índices únicos; esgotar a árvore de teste → recusa limpa e alerta.