◇ OpenCyber Academy
Engenharia · Capítulo 50 · Português

Capítulo 50 — Defesa final

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

Capítulo 50 — Defesa final

Mapa da aula

Aula 50 publicada. Mapa, exemplo, EX148.

flowchart TD
  N0["50.1 Estrutura da apresentação"]
  N1["50.2 Perguntas prováveis"]
  N2["50.3 Reflexão"]
  N3["Nota prática"]
  N4["50.1b Pacote dos examinadores e acompanhamento poste"]
  N5["Nota de campo — revisão de noventa dias"]
  N6["Síntese"]
  N0 --> N1 --> N2 --> N3 --> N4 --> N5 --> N6
  N6 --> EX["Exemplo resolvido"]
  EX --> Q["Exercício EX148"]

Desenho lógico

flowchart LR
  N0["50.1 Estrutura da apresentação"]
  N1["50.2 Perguntas prováveis"]
  N2["50.3 Reflexão"]
  N3["Nota prática"]
  N4["50.1b Pacote dos examinadores e acompanhamento poste"]
  N5["Nota de campo — revisão de noventa dias"]
  N6["Síntese"]
  N0 --> N1 --> N2 --> N3 --> N4 --> N5 --> N6 --> Q["EX148"]
[50.1 Estrutura da apresentação]
    |
    v
[50.2 Perguntas prováveis]
    |
    v
[50.3 Reflexão]
    |
    v
[Nota prática]
    |
    v
[50.1b Pacote dos examinadores e acompanhamento poste]
    |
    v
[Nota de campo — revisão de noventa dias]
    |
    v
[Síntese]
    |
    v
[Exemplo resolvido] --> [Exercício EX148]

Objetivos de aprendizagem

Você vai (1) apresentar a afirmação e as evidências em 20 minutos; (2) responder a perguntas sobre segurança física e medição; (3) declarar o que você não faria de novo.

50.1 Estrutura da apresentação

Afirmação; demonstração sobre o modelo sintético da planta; resultados da verificação; uma lição do ensaio de falha; limites; perguntas. Nada de demonstração de invasão de uma planta em operação.

A defesa de Lena seguiu essa ordem. Ela declarou a sua afirmação sobre o compilador, mostrou-o no modelo sintético de nove condutos da ABP, apresentou os resultados de equivalência e de vetores e, em seguida, a sua reflexão sobre uma falha. Ela encerrou com o slide de limitações e uma frase sobre o que as evidências sustentam: regras equivalentes ao projeto em nove de nove condutos e três erros que a revisão manual deixou passar. Nada na apresentação tocou um sistema em operação, e todo número nos seus slides apontava para um artefato do dossiê.

50.2 Perguntas prováveis

Prova da falha fechada? Escolha do denominador? Fronteira do uso dual? Independência do SIS? O que quebrou no Laboratório II? Pratique responder com ponteiros para artefatos.

Lena praticou cada pergunta com o seu orientador, respondendo com um ponteiro para um artefato, e não com uma opinião. Para o comportamento de falha fechada, ela apontou para os resultados do ensaio; para a independência do SIS, para a verificação de alcançabilidade que mostra o SIS-B inalcançável a partir de toda zona roteada. Para o Laboratório II, ela descreveu o defeito da defasagem de relógio e a sua correção. A pergunta mais difícil, o que acontece se o projeto estiver errado, recebeu mais prática do que todas.

50.3 Reflexão

Termine com um erro de projeto no monitor ou no compilador de políticas e a sua correção — os examinadores confiam em engenheiros que viram as próprias falhas.

# Lab 1 - tank hold-up after feed pump stop (Ashford Batch Plant, synthetic)
import math
V0, VMIN = 12.0, 2.0   # m3 in feed tank T-1
def outflow(t):         # m3/h to reactor; t hours after stop of makeup
    return 1.8 + 0.4*math.sin(2*math.pi*t/6)
def drawn(t):
    return 1.8*t - (0.4*6/(2*math.pi))*(math.cos(2*math.pi*t/6)-1)
lo,hi=0.0,24.0
for _ in range(50):
    mid=(lo+hi)/2
    lo,hi=(mid,hi) if drawn(mid)<V0-VMIN else (lo,mid)
print(f"time to min level: {lo:.2f} h")
print(f"average-rate estimate: {(V0-VMIN)/1.8:.2f} h")

Saída esperada:

time to min level: 5.53 h
average-rate estimate: 5.56 h

Caso sintético — Ashford Batch Plant. A defesa de Lena começou pelo laboratório de falha fechada e pela alcançabilidade do SIS, não por um slide de logotipos. Quando lhe pediram uma pontuação de risco, ela recusou e mostrou a alcançabilidade do SIS, as críticas abertas e os denominadores da cobertura.

A reflexão de Lena foi o travamento silencioso durante a nova execução do congelamento: o seu carregador de vetores tentava de novo para sempre quando o firewall de bancada limitava a sua taxa, então uma execução que falhou parecia apenas lenta.

50.4 Erros e limites

A defesa não é um discurso de vendas para um fornecedor de scanners.

A defesa de Lena não mencionou nomes de produtos nem recomendou ferramentas. Quando um examinador perguntou qual scanner comercial ela compraria, ela explicou que o seu trabalho produzia regras e evidências para qualquer firewall e que a escolha do produto cabia ao processo de compras da ABP. Os seus slides mostraram resultados e limitações, não logotipos, então os examinadores julgaram o trabalho pelas suas evidências, e não pelo marketing de algum fornecedor. Ela manteve essa linha do começo ao fim.

Nota prática

Vinte minutos significam ensaio com cronômetro. Cortar o slide de limites para caber mais uma demonstração de bancada é o corte errado — os examinadores precisam mais da sua honestidade do que de um quarto clique de demonstração.

50.1b Pacote dos examinadores e acompanhamento posterior

O pacote dos examinadores reúne a frase da afirmação, o resumo do Laboratório II do compilador, a medida do ensaio de falha e o parágrafo de ética, e é enviado com um dia de antecedência. Depois da defesa, agende uma revisão de manutenção em noventa dias: equipe dona, fixações, tickets corretivos. Arquive os slides da apresentação ao lado do dossiê, com hashes correspondentes.

Mantenha uma lista de espera para as ideias dos examinadores e processe-a em até uma semana. Agradeça aos operadores da ABP que rodaram os ensaios sintéticos; uma defesa sem os logs deles é contação de histórias. O compilador e o monitor continuam em serviço na ABP depois do fim do curso, então a defesa também inicia o trabalho de mantê-los.

Lena enviou o seu pacote com um dia de antecedência.

Nota de campo — revisão de noventa dias

Noventa dias depois da defesa, a equipe dona, as fixações e os tickets corretivos foram revistos. Uma correção tinha sido reaberta; foi registrada de novo com um SLO mais apertado. A administração responsável começa quando os aplausos terminam.

50.5 Exemplo resolvido — respondendo à pergunta mais difícil da defesa (ABP sintética)

Um examinador pergunta: "O seu compilador prova que a alcançabilidade é igual à do projeto. E se o projeto estiver errado?" A resposta preparada de Lena: o compilador verifica a implementação contra a intenção, não a intenção contra as ameaças; o próprio projeto veio da avaliação orientada por consequências e foi revisado de forma independente (Capítulo 45); e o novo teste de validação (Capítulo 38) encontrou uma deriva real que o compilador teria evitado. Ela encerra nomeando a limitação — um modelo de zonas defeituoso seria compilado fielmente — e o plano de noventa dias de comparar a saída do compilador com o projeto independente de uma segunda equipe.

Exercícios

Síntese

Defenda a engenharia, as medidas e as recusas.

Continue estudando — capítulo 50 de 50

← Capítulo 49 · Índice de capítulos do curso · Resoluções →

Siga para a próxima lição escrita.

Resoluções

Respostas-modelo para EX001–EX150. A Ashford Batch Plant, Lena Okafor, o CNHP e todos os números são sintéticos. Qualquer resposta que atenda à rubrica recebe a mesma pontuação.

EX001. (9 − 1,5) / 1,25 = 7,5 / 1,25 = 6,0 horas.

EX002. "Uma condição de nível baixo no T-2 deve ser alarmada ao operador em até 4 horas após a perda da reposição (6,0 h de autonomia menos 2 h de margem de resposta), por um caminho de alarme independente do CLP que controla a bomba de reposição."

EX003. O termo do seno integra quase a zero ao longo de um período completo de 6 horas, então o consumo médio é 1,8 m³/h e 10/1,8 ≈ 5,56 h. Se a janela cobrisse apenas a parte alta do ciclo, ou se a receita pendesse para um consumo alto, o tempo real seria menor do que a estimativa pela taxa média.

EX004. A partir de A: B (direto), C e E (via B), D (via C). Conjunto alcançável {A, B, C, D, E}.

EX005. Remover uma aresta só pode encolher os conjuntos alcançáveis, então não pode expor nada de novo. Acrescentar L3→L1-SIS pode criar um caminho de todas as zonas que já alcançam o L3 — incluindo o L4 e o L5 — até o sistema de segurança, então exige uma verificação completa de alcançabilidade.

EX006. A aresta L2→L1-SIS. O L4 já alcança o L2 (diretamente via L4→L2 e via L3), então esse único conduto SCADA→SIS completa o caminho; o desenho zoneado o omite.

EX007. 120 × 10 = 1.200 bits; 1.200 / 19.200 = 0,0625 s = 62,5 ms.

EX008. Taxa necessária = 244 × 10 bits / 0,050 s = 48.800 bit/s. A próxima taxa padrão igual ou acima disso é 57.600 bit/s; 38.400 estouraria o orçamento.

EX009. (1) Injeção de corrente numa malha de 4–20 mA → sensor redundante com verificação cruzada. (2) Aquecer ou resfriar uma sonda de temperatura → verificação de plausibilidade por modelo físico em relação ao ciclo de trabalho do aquecedor. Invólucros e lacres com evidência de violação também são controles aceitáveis.

EX010. permit(src, fc, reg): se src == "HIST-1" e fc em {3, 4} → PASS; se src == "HIST-1" em qualquer outro caso → BLOCK "fc-not-allowed". Nenhum código de escrita (5, 6, 15, 16) é listado.

EX011. Teste 40001 e 40010 com HMI-1 fc=6; ambos PASS. 40011 está fora de range(40001, 40011) e precisa dar BLOCK "register-out-of-range".

EX012. Não há tupla (ENG-WS, 8) em ALLOW, então ela é bloqueada com fc-not-allowed. A função 8 é de diagnóstico; uma lista que nega por padrão obriga a declarar e aprovar as necessidades da estação de engenharia, em vez de presumi-las.

EX013. "Qualquer host no L2 consegue enviar requisições de escrita Modbus aos registradores de retenção 40001–40010 do PLC-A sem autenticação (observado numa repetição em bancada, 3 de março). Uma mudança do setpoint de nível do T-1 poderia elevar o nível em direção ao transbordamento em cerca de 40 minutos; o trip de nível muito alto do SIS-B continua independente e pararia a alimentação."

EX014. Operador: "Relate qualquer mudança de setpoint no T-1 que você não tenha feito." Engenheiro de segurança: "O SIS-B não é alcançável a partir das zonas do escritório; confirme que o seu teste de trip está em dia." Gerente: "Remover a FW-12 não custa tempo de parada e fecha o caminho do escritório até o SCADA."

EX015. "O acesso remoto do fornecedor à estação de engenharia no L3 continua sendo um caminho até o PLC-A; ele é controlado por sessões com tempo limitado através do jump host da DMZ, com aprovação do operador, e deveria ser auditado mensalmente."

EX016. Quadros esperados = 500 / 0,85 ≈ 588. As regras de engajamento e o orçamento de comunicações precisam cobrir ~588, não 500.

EX017. B′ = 1,0 − 1,5 = −0,5/h, então B(t) = 40 − 0,5t = 0 em t = 80 horas, pressupondo taxas constantes.

EX018. 210 / 556 ≈ 0,378, cerca de 38% da carga semanal — a pior fonte isolada.

EX019. Com 0 eventos em 60 ensaios, um limite superior aproximado de 95% para a taxa é cerca de 3/60 = 5% (regra de três), ou um limite superior de Wilson perto de 6%. Você pode dizer que não foram observados alarmes falsos nesta amostra; não pode alegar que a taxa é zero em operação.

EX020. CUSUM na classe A: det=60/60, mean_delay≈24,8 amostras (depois que o ataque começa em t=250).

EX021. "Nenhum dos detectores disparou na classe B em 60 ensaios, então esta amostra não consegue classificá-los; precisamos de uma classe de ataque detectável ou de um desenho maior antes de alegar equivalência ou superioridade."

EX022. Engenharia do SIS: mudar setpoints de trip, modificar a lógica de segurança, forçar saídas de segurança durante um teste. IHM: mudar setpoints regulatórios dentro das faixas permitidas, reconhecer alarmes, ver tendências. As listas exatas podem variar, desde que a divisão seja clara.

EX023. O CLP e o SIS ainda podem compartilhar sensores, alimentação, estações de engenharia ou uma rede de gestão. Um host de engenharia comprometido pode regravar o firmware dos dois, mesmo que as VLANs de produção sejam separadas. A independência exige controladores separados e acesso de engenharia controlado, não só tags de VLAN.

EX024. Exporte as listas de permissões da IHM/do CLP e as tabelas de varredura que mostram o 40050 como gravável; ou faça uma captura numa porta espelhada/monitor serial durante uma repetição em bancada. Não escreva no 40050 da planta em operação para "provar" isso.

EX025. Na ingestão, se qualquer chave casar com (?i)payload|shell|exploit|password, rejeite com 400. Exemplo: {"title":"x","payload":"..."}.

EX026. Ambos compartilham a impressão digital (PLC-A, unauthorized-write, 40050); o upsert mantém uma única linha e anexa os dois hashes de evidência.

EX027. "Todo caminho do L4 até o L2 inclui o L3.5" (ou: o L4 não tem aresta para o L2/L1). A redação exata pode variar, desde que seja testável.

EX028. "Não posso fornecer um exploit funcional nem um procedimento de ataque contra um CLP real — isso é de duplo uso e está fora deste curso. Posso ajudar você a escrever uma constatação a partir de evidências sintéticas ou indicar o processo de divulgação coordenada do fornecedor."

EX029. Alarme de processo inesperado; tempo de ciclo ou latência acima do orçamento; falha ou trip do SIS; o contato de segurança de processo manda parar; um host da lista de negação foi sondado; mudança de setpoint inexplicada — quaisquer quatro, com gatilhos claros.

EX030. Unidades/ativos no escopo; métodos permitidos; janela de data/hora; limites de impacto e de taxa; contatos nomeados de engenharia e de segurança de processo; regras de parada e de retomada. Assinada por alguém com autoridade sobre as unidades.

EX031. Exemplo: CRC/enquadramento serial exige um monitor serial no tronco; o código de função do Modbus TCP exige captura/decodificação IP no conduto; saber qual operador mudou um setpoint exige um log de auditoria da IHM ou da aplicação. Outras trincas corretas são aceitas.

EX032. Decodificação somente leitura do Modbus TCP até o PLC-A a partir da HMI-1/do HIST-1; apenas os códigos de função 3/4/6; registradores 40001-40010; nenhuma escrita a partir da estação de avaliação; janela sábado 02:00-04:00, com o contato de segurança de processo de plantão.

EX033. WRITE_REGS permite à HMI-1 fc=6 apenas para registradores em range(40001, 40011). 40003 está dentro (PASS); 40050 está fora (BLOCK register-out-of-range).

EX034. Contas nominais de engenheiro; direitos de administrador por meio de associação a um grupo retirada com prazo; todos os downloads de lógica registrados; uma segunda pessoa aprova os downloads para o SIS e para o CLP de produção fora de uma janela.

EX035. O patch do banco de dados do historiador (2,5 h, risco 5) foi adiado — a W1 levou o firmware do PLC-A e o firmware do switch; a W2 levou o SO da IHM e o antivírus da eng-WS; não sobraram horas.

EX036. USB de fornecedor permitido apenas na eng-WS-2, 14 de março, 09:00-12:00, mídia verificada num quiosque isolado, sessão gravada em vídeo; porta desabilitada depois.

EX037. Usar apenas a réplica do historiador na DMZ (L3.5). SELECT limitado a tag, valor e timestamp. LIMIT 10000. Sem dumps. Arquivos destruídos em até 24 h, com confirmação no ticket.

EX038. Obter as credenciais de analista emitidas para o teste; conectar; tentar um UPDATE/INSERT numa tabela de anotações de setpoints; registrar sucesso ou permissão negada. Nenhum payload elaborado.

EX039. Seguros: tag_id, value, quality_code, timestamp. Proibidos: operator_name, customer_order_id, recipe_secret_key.

EX040. Lista de permissões Modbus abp-modbus-v1.4.2 (SHA do git c0ffee1), carregada em 14 de março às 02:05 a partir do bucket de versões assinadas.

EX041. Todo PR que alarga condutos (aresta ou código acrescentado, ou bloqueio removido) precisa de um ticket AUTH vinculado e de um segundo dono de código; restringir exige um dono.

EX042. Uma integração contínua com credenciais da VPN da planta tocaria sistemas fora de uma janela autorizada por uma pessoa, poderia vazar segredos nos logs e faria as builds dependerem das redes da planta. Os dados de teste sintéticos mantêm a integração contínua segura e repetível.

EX043. Confidencialidade: pouco impacto direto (escritas de setpoint não são leituras). Integridade: mudança não autorizada do setpoint de nível do T-1. Disponibilidade: o lote pode ser abortado ou intertravado. Segurança física: o nível muito alto do SIS-B continua independente se os condutos se mantiverem — declare isso explicitamente.

EX044. Vulnerabilidade: escrita Modbus não autenticada. Exposição: gravável a partir da rede de IHMs do L2. Risco de processo: o julgamento do dono da planta sobre a probabilidade e a consequência de um transbordamento, dado o SIS-B — aceito ou remediado por ele.

EX045. Não publicamos uma pontuação única de "hackeabilidade". Aqui estão: alcançabilidade do SIS (não), críticas abertas (1), alarmes por hora de operador (1,05), correções de alto risco adiadas (0).

EX046. "Nenhum host do L4 deverá ter um conduto permitido até os servidores SCADA do L2; verificar por alcançabilidade em cada exportação do firewall." "Toda visualização de dados de processo a partir do L4 deverá usar a réplica do historiador no L3.5; verificar pela ausência de regras diretas do L4 para o L2 e por testes das ACLs da réplica."

EX047. Artefato: a lista de arestas zoneada, sem L2 para L1-SIS e sem L4 para L2. Sinal: o lab_reach relata writes_to_SIS=True ou o L1-SIS no alcance a partir do L4.

EX048. Nome/id da tag, tipo de dado e unidades de engenharia, taxa de atualização ou de exceção, significado do código de qualidade, dono — quaisquer três com significado claro.

EX049. kp=0.2 ki=0.01: final≈58,15, mae≈4,62, o melhor dos três. O P puro (ki=0) deixa um desvio maior (final≈44,61).

EX050. Prefira um tap passivo ou espelhamento; a DPI em linha arrisca acrescentar uma latência comparável à escala de tempo da malha. Meça primeiro numa cópia de bancada.

EX051. Acionar imediatamente para eventos cibernéticos relevantes para a segurança física; agrupar os eventos médios num resumo do turno; suprimir duplicatas da mesma impressão digital por 24 h.

EX052. PC do escritório no L4; historiador no L3; IHM no L2; PLC-A no L1; SIS-B no L1-segurança. Controles: salto pela DMZ para a visualização a partir do L4; nenhuma aresta do L2 para o SIS; lista de permissões no Modbus — qualquer esboço coerente com dois controles.

EX053. Os dados da receita saem do caminho controlado de TO/TI para uma conta pessoal não autorizada, quebrando a confidencialidade e a retenção.

EX054. Os testes usaram um ambiente sintético que espelha a configuração da ABP; os resultados sustentam afirmações sobre essa configuração sob a permissão de trabalho, não sobre o comportamento do processo real nem sobre dados de produção.

EX055. Contas nominais ou compartilhadas? Locais ou do diretório? Membros do grupo de administradores? Última troca de senha? Procedimento de quebra de vidro? Gravação de sessões nos hosts de salto?

EX056. Reexportar do dispositivo ou restaurar a cópia lacrada; reverificar os hashes; verificar quem escreveu depois do horário do lacre; abrir uma constatação de processo sobre edições não controladas.

EX057. Os segredos da planta e de engenharia nunca são colados em tickets, no chat ou no git; os tickets guardam apenas um id de referência do cofre e o horário da última rotação.

EX058. Exemplo: orientação de segurança de ICS para a SP 800-82; zonas/condutos/SL para a 62443; vocabulário de técnicas para o ATT&CK ICS; detalhes dos códigos de função para o Modbus Application Protocol.

EX059. Projetar e operar um programa autorizado de endurecimento da rede de controle que imponha zonas e listas de permissões, meça a detecção com honestidade e nunca ponha em risco a segurança de processo nem exceda a permissão de trabalho assinada.

EX060. Exploits funcionais para CLPs; varredura de plantas em operação sem permissão de trabalho; exportação da genealogia proprietária de lotes para os laboratórios; desativação do SIS para facilitar um teste.

EX061. Funcional: "Nenhuma exportação do firewall deverá conter um caminho do L4 para o L1-SIS; verificar pela alcançabilidade na integração contínua." Segurança física: "Se a política não puder ser carregada, o ponto de imposição deverá negar novas sessões e alarmar em até 30 s."

EX062. Dado o caminho da lista de permissões configurado, mas o arquivo ausente; Quando houver qualquer chamada a permit(); Então o resultado é DENY com o motivo policy-unavailable e um alerta dispara; nenhum quadro de escrita é encaminhado.

EX063. Conflito: os operadores querem visualização direta do L4 para o L2; a segurança física e a da informação não querem nenhuma aresta do L4 para o L2. Regra escolhida: visualização apenas pela réplica do historiador no L3.5; regra direta proibida; quebra de vidro documentada à parte.

EX064. Edições no lugar apagam quais condutos estavam em vigor no momento t; o versionamento permite que uma constatação aponte para o conjunto de regras autorizado quando a observação foi feita.

EX065. Recalcular o hash detecta mudanças; arquivos idênticos se fundem; os tickets referenciam bytes imutáveis.

EX066. Rejeitar títulos que casem com padrões de atribuição de senha ou com segredos de alta entropia; os revisores ainda conferem; apenas referências ao cofre nos metadados da evidência.

EX067. Implantar com o caminho da lista de permissões apontando para uma montagem vazia; chamar permit(); esperar DENY policy-unavailable e um alerta; nenhum quadro encaminhado.

EX068. Todo evento de negação guarda o id do ator autenticado e a versão da política; o armazenamento é somente de acréscimo; exclusões exigem quebra de vidro com controle duplo.

EX069. O STRIDE do programa protege a integridade da avaliação e a segurança de processo; módulos de exploit aumentam o dano de uso dual e violam a fronteira do curso — não são mitigações.

EX070. Nome: decodificação Modbus somente de escuta. Propósito: verificar as decisões da lista de permissões. Privilégio: acesso ao tap, sem injeção. Ruidoso: baixo. Impacto: apenas latência. Parada: tempo de ciclo >50 ms ou alarme de processo. Artefatos: tabela de decisões, hash de configuração, log de tempo de ciclo.

EX071. Ações sem uma permissão de trabalho assinada não são autorizadas; é uma falha legal, ética e de segurança de processo, qualquer que seja a intenção.

EX072. Hash do diagrama de zonas atualizado; relatório de alcançabilidade; hash da exportação do firewall; rascunhos de constatações ou um explícito "nenhuma encontrada", com nota de cobertura.

EX073. Arquivo JSON assinado: risco = os operadores esquecerem de assinar ou de verificar. Política embutida no código: risco = reimplantações a cada mudança da lista de permissões, deriva entre dispositivos.

EX074. As decisões de negação em códigos de função de escrita alertam de forma síncrona antes do encaminhamento, para que as condições de parada cumpram a meta do sensor; as leituras permitidas podem ser enfileiradas de forma assíncrona.

EX075. Ele falha de forma fechada? Quem pode publicar a política? Qual é a latência acrescentada no tronco mais lento?

EX076. Critério: o estado do SIS nunca sai do L1 sem a chave seletora. A alta, se os monitores ficarem locais; B média, se a réplica excluir o SIS; C baixa, se os uploads incluírem tags de segurança física.

EX077. Opção C rejeitada: dados de processo e próximos às receitas sairiam da fronteira de residência do site exigida pela política da ABP e pela cláusula de dados da permissão de trabalho.

EX078. Quando a WAN do site cai ou o caminho para a nuvem está fora da permissão — rodar apenas as listas de permissões e os detectores locais, com registro manual das constatações.

EX079. Preventivo: bucket lacrado somente de acréscimo, com IAM de escrita única. Detectivo: rotina agendada que recalcula os hashes e alerta em caso de divergência.

EX080. Exige competência de uso dual, não é determinístico e pode ferir o processo; prefira reler a configuração ou testar a lista de permissões.

EX081. (HIST-1, 16) não está em ALLOW, então BLOCK fc-not-allowed — os historiadores não podem escrever múltiplos registradores.

EX082. permit(source, fc, register, allow_list: AllowListVersion) -> (bool, Reason). A AllowListVersion fixa quais regras foram avaliadas, para a auditoria.

EX083. O teste que afirma BLOCK register-out-of-range para HMI-1 fc=6 reg=40050.

EX084. Segredos de autenticação; quadros brutos que embutem parâmetros proprietários de receitas; identificadores pessoais de operadores, se não forem necessários para a decisão.

EX085. cobertura = |observadas ∩ planejadas| / |planejadas|. Usar todas as técnicas do ATT&CK for ICS como denominador faz a cobertura parecer minúscula ou estimula um planejamento lixo — planeje as técnicas pertinentes ao trabalho.

EX086. Na classe A, o CUSUM detecta 60/60 com atraso de ~25 amostras; a banda detecta 0/60; os dois mostram 0/60 alarmes falsos neste conjunto de sementes.

EX087. O status fica aberto até que um ticket de novo teste passe; o encerramento automático com base na promessa do fornecedor é proibido.

EX088. ID V-04; preparação: montagem vazia da lista de permissões; ação: permit(qualquer escrita); esperado: DENY policy-unavailable + alerta; evidência: hash do log.

EX089. Interromper o laboratório, abrir um bloqueio, revogar a aprovação da janela na planta até a correção e um novo laboratório aprovado.

EX090. Hash do arquivo da lista de permissões/política, hash do build/versão do monitor, hash do log de resultados.

EX091. Uma nova tentativa de rede pode criar duas constatações com ids de servidor diferentes; os clientes devem fazer PUT com ids conhecidos.

EX092. {"title":"x","payload":"..."} ou {"password":"..."} ou {"risk_score":42} — qualquer campo proibido/desconhecido segundo a política.

EX093. Não — renomear quebra os clientes; mantenha reason_code na v1 ou publique a /v2/.

EX094. Durante as janelas assinadas, sucesso do caminho de negação ≥ 99,5%, medido por sondagens sintéticas a cada minuto; as indisponibilidades acionam o líder.

EX095. A avaliação do escopo e da lista de permissões — precisa falhar de forma fechada, nunca ALLOW na incerteza.

EX096. Parar de iniciar novos métodos de descoberta; acionar o líder; manter a negação/permissão funcionando; esvaziar a fila antes de retomar a descoberta.

EX097. Criar o arquivo /var/lib/otmon/STOP via SSH/SSO; o monitor o consulta a cada 10 s; se ele existir ou estiver ilegível, negar as escritas e alertar.

EX098. Binário assinado anterior disponível; AllowListVersion inalterada ou reverificada; contato de segurança de processo notificado da reversão.

EX099. Às 02:40, o tempo de ciclo no tronco A marca 62 ms durante três minutos; o líder está numa área barulhenta, com rádio instável.

EX100. Para que os revisores saibam qual AllowListVersion autorizou a decisão quando o evento disparou.

EX101. O consumidor guarda os event_ids processados; as duplicatas são ignoradas ou recebem upsert sem novos tickets.

EX102. Um JSON de evento de exemplo para o novo motivo e os campos esperados do ticket no repositório de constatações depois do consumo.

EX103. Fração das técnicas planejadas do ATT&CK for ICS observadas nesta janela — não é uma pontuação de risco residual nem de conformidade.

EX104. Não publicamos selos de risco vermelho/âmbar/verde; use a alcançabilidade do SIS, as críticas abertas e as contagens de SLA/adiamento de correções.

EX105. technique_id, nome, planejada (S/N), observada (S/N), first_seen_utc, notas.

EX106. bytes por ciclo=244; tempo por ciclo≈21,2 ms a 115200, com 10 bits/byte.

EX107. Cerca de 29 ms de folga absorvem picos de decodificação e novas tentativas; gastá-la toda não deixa margem para que a condição de parada tenha sentido.

EX108. Cada um pode enviar 2/s → ~6/s no agregado, o triplo da permissão — é preciso um limitador compartilhado.

EX109. Desativar as contas temporárias; trocar os segredos do cofre; lacrar os hashes das evidências; exportar as métricas de cobertura/alcançabilidade do SIS; confirmar o kill switch liberado; agendar a retrospectiva; notificar a segurança de processo do horário de término.

EX110. Ids e status das constatações abertas; último event_id processado; pedidos de aprovação pendentes; estado do kill switch — quaisquer três ou mais.

EX111. A correção do banco de dados do historiador foi adiada; o encerramento precisa registrar o risco residual e a data da próxima janela agendada (não adiada para sempre).

EX112. Exportar as regras atuais do firewall; rodar a alcançabilidade a partir do L4; esperar que o L2/L1-SIS não sejam alcançáveis indevidamente; guardar os hashes; não enviar tráfego para a planta para prová-lo.

EX113. Do contrário, as métricas mentem e os painéis ficam verdes enquanto o risco permanece.

EX114. O novo teste confirmou apenas a configuração da bancada/do gêmeo; o ambiente de execução da planta ficou fora do escopo da validação.

EX115. Fixar a versão exata para a janela; correções de emergência precisam de um mini laboratório de verificação (Capítulo 30) antes da troca.

EX116. put_evidence(key: Hash, body: bytes) -> None / get_evidence(key) -> bytes.

EX117. Dono: equipe CNHP Platform (primária: Lena Okafor); substituto: engenheiro de TO de plantão; contato: #cnhp-monitors.

EX118. Do contrário, a cobertura alega técnicas observadas sem um registro durável de constatação — a métrica mente sob falha parcial.

EX119. Continua permitindo/negando a partir da política local; enfileira os rascunhos; alerta sobre o crescimento da fila; nunca ALLOW em erros de política.

EX120. O implementador da mudança e um segundo engenheiro que não escreveu o código.

EX121. Pular as verificações de faixa de registradores para IHMs antes permitidas, ou falhar aberto quando o serviço de políticas estiver lento.

EX122. A chave do cache inclui a versão da política, a origem, o fc e o registrador; TTL curto; invalidação rígida na publicação da política.

EX123. Descarte a descoberta e os analytics de melhor esforço antes de descartar a avaliação de negação — os operadores podem esperar por uma varredura; não podem esperar por uma negação que nunca chega.

EX124. Exigir um denominador nos relatórios de cobertura reduz as alegações exageradas de "percentual seguro" pelos executivos nas pesquisas pós-janela?

EX125. Contagem de merges que alargam condutos sem ticket AUTH por trimestre (ou de tentativas bloqueadas).

EX126. Esse projeto cruza a linha de uso dual do curso; considere estudar as taxas de falha fechada ou as políticas de novo teste.

EX127. Se o arquivo de regras de autorização não puder ser carregado, o sistema se recusa a encaminhar o tráfego de escrita e alarma a equipe — ele não continua sob uma incerteza que poderia afetar uma camada de proteção.

EX128. O host plc-a-prod-03 vira o host sintético PLC-A no ambiente de laboratório de Ashford.

EX129. Residência dos dados; proibições de compra de SaaS estrangeiro; registro para retenção/FOIA; comitês consultivos de mudanças — quaisquer dois concretos.

EX130. Nenhum selo de risco residual; nenhuma autodescoberta ATT&CK ao vivo nas redes da planta; nenhum armazenamento de payloads.

EX131. O arquivo de kill switch para os encaminhamentos de escrita em até 30 s — aceitação: teste de unidade + laboratório V-KS verdes sobre dados sintéticos.

EX132. O trabalho usa dados sintéticos sob as permissões de trabalho do curso. Nenhum acesso não autorizado à planta. Nenhum desenvolvimento de exploit. Problemas reais encontrados por acidente vão para a divulgação responsável, não para o apêndice do relatório.

EX133. Bloqueio: no timeout do serviço de políticas, isto tenta de novo e então dá ALLOW — viola a falha fechada do S-1. Mudar para DENY+alerta antes do merge.

EX134. Serial: confirma que o modo somente de escuta e a condição de parada por tempo de ciclo são testados no Laboratório I.

EX135. Divergência: ainda prefiro alertas síncronos para todas as negações durante a primeira semana de uma nova lista de permissões; vencida no ADR-019.

EX136. Correções de segurança física/bloqueios e correções de documentação; nenhum trabalho de funcionalidade.

EX137. Código+testes, relatório do Laboratório II com hashes, ADR, atualização do runbook, tutorial do operador, declaração de ética — quaisquer cinco.

EX138. Sem um dono operacional e um runbook executável, o verde do Laboratório II ainda deixa a planta sem alguém que consiga parar e retomar com segurança.

EX139. Injeção: apagar o arquivo da lista de permissões. Esperado: DENY das escritas em até 30 s, alerta, nenhum ALLOW.

EX140. Segundos desde a injeção até a primeira decisão de negar todas as escritas (e o disparo do alerta).

EX141. Apertar a consulta da política do otmon de 15 s para 5 s — o "negar tudo" do ensaio levou 45 s > SLO de 30 s.

EX142. work-permit.pdf sha256 18d7…; allow-list.json sha256 01cc…; findings.json sha256 7f5f….

EX143. PDF da permissão de trabalho para evidência lacrada; notas de rascunho para trabalho, excluídas em 90 dias ou antes.

EX144. Remover do repositório, trocar o segredo exposto, abrir uma constatação de processo, lacrar de novo o manifesto, notificar o dono.

EX145. Exigir dupla aprovação e um ticket AUTH para os merges que alargam condutos reduziu a zero as tentativas de alargamento não aprovadas em 12 semanas de dados sintéticos de integração contínua da ABP.

EX146. Os ensaios usaram dados de teste sintéticos, não tráfego real da planta. Os resultados podem não se transferir para organizações sem CODEOWNERS. Não medimos a fadiga dos revisores.

EX147. https://doi.org/10.1145/2976749.2978388

EX148. Afirmação; demonstração sintética; resultados do Laboratório II; lição do ensaio de falha; limites/ética; perguntas.

EX149. Não produzo uma pontuação única de risco residual — ela não é reproduzível. Aqui estão: SIS alcançável a partir do L4 (não), as críticas abertas e a cobertura das técnicas planejadas com denominadores; é isso que acompanhamos.

EX150. Exemplo: pusemos em cache as decisões de permissão sem a versão da política na chave; uma publicação deixou ALLOWs velhos. Correção: incluir a AllowListVersion na chave do cache e invalidar rigidamente na publicação.