Mapa da aula
Aula 25 publicada. Mapa, exemplo, EX049.
flowchart TD
N0["25.1 Finalidade e regras"]
N1["25.2 A tarefa"]
N2["25.3 Método e reprodutibilidade"]
N3["25.4 Estrutura da nota"]
N4["25.6 Rubrica de avaliação"]
N5["Síntese do capítulo"]
N0 --> N1 --> N2 --> N3 --> N4 --> N5
N5 --> EX["Exemplo resolvido"]
EX --> Q["Exercício EX049"]
Desenho lógico
flowchart LR
N0["25.1 Finalidade e regras"]
N1["25.2 A tarefa"]
N2["25.3 Método e reprodutibilidade"]
N3["25.4 Estrutura da nota"]
N4["25.6 Rubrica de avaliação"]
N5["Síntese do capítulo"]
N0 --> N1 --> N2 --> N3 --> N4 --> N5 --> Q["EX049"]
[25.1 Finalidade e regras]
|
v
[25.2 A tarefa]
|
v
[25.3 Método e reprodutibilidade]
|
v
[25.4 Estrutura da nota]
|
v
[25.6 Rubrica de avaliação]
|
v
[Síntese do capítulo]
|
v
[Exemplo resolvido] --> [Exercício EX049]
Objetivos de aprendizagem e conexão
Depois deste laboratório, você consegue (1) combinar evidências de inventário, de fluxos de rede, de vulnerabilidades e de acessos numa única avaliação de um operador sintético; (2) registrar métodos, versões e saídas de modo que outra pessoa consiga reproduzir os seus resultados; (3) separar constatações, interpretações e recomendações; e (4) avaliar o seu próprio trabalho contra uma rubrica. O laboratório integra os Laboratórios 2, 4, 5 e 7 (Capítulos 3, 7, 9 e 13) e os métodos dos Capítulos 15, 23 e 24. É o primeiro ponto de controle de projeto do curso.
25.1 Finalidade e regras
Este laboratório é uma avaliação contida dos operadores sintéticos de Calder usando apenas os laboratórios offline do livro. As suas regras de engajamento (Capítulo 10, atividade prática) se aplicam: o seu próprio computador, nenhum acesso de rede a sistemas reais, nenhum dado real. A habilidade avaliada não é rodar código — essa é a parte fácil —, e sim reunir evidências num julgamento defensável e documentá-lo de modo que outro estudante consiga reproduzi-lo.
As condições de parada dessas regras também se aplicam aqui: se algum script de laboratório de Calder tentar acessar a rede, pare, registre o hash do script e avise o seu tutor.
25.2 A tarefa
Você é estagiário da County Resilience Partnership. Produza uma nota de avaliação de 1.500 palavras respondendo: "Considerando as evidências disponíveis, quais são as três melhorias de segurança de maior prioridade para os operadores de Calder, e quão confiantes estamos?" Use:
- Laboratório 2 (inventário do CVH): dispositivos sem suporte e fora do lugar.
- Laboratório 4 (fluxos da CW): violações da política de conduítes.
- Laboratório 5 (alertas da CPN): ativos vulneráveis, ordenados por exploração e exposição.
- Laboratório 7 (revisão de acessos): contas órfãs, inativas, compartilhadas e tóxicas.
A pergunta pede três prioridades entre quatro operadores, o que obriga à comparação: uma violação de conduíte na CW e uma falha no gateway da CPN precisam ser ordenadas uma contra a outra pela consequência, e não reportadas em listas separadas.
25.3 Método e reprodutibilidade
Registre para cada laboratório: o nome do arquivo e um hash SHA-256 do script que você rodou (python3 -c "import hashlib,sys;print(hashlib.sha256(open(sys.argv[1],'rb').read()).hexdigest())" lab05.py), a versão do Python, a saída exata e qualquer mudança que você tenha feito. A reprodutibilidade é evidência: um leitor que roda o seu script de novo e obtém a mesma saída pode confiar na sua seção de constatações sem precisar confiar em você (Sandve et al., 2013).
Se você mudou a lista de versões do Laboratório 5 para testar o VPN-01 contra outra versão de correção, o hash no seu apêndice precisa ser o desse arquivo editado, com a mudança listada ao lado.
25.4 Estrutura da nota
- Resumo — três prioridades, uma frase cada, com a confiança (alta/média/baixa) e o motivo.
- Escopo e método — o que foi examinado, como, e o que não foi.
- Constatações — só fatos das saídas (por exemplo, "o VPN-01 roda a 9.1; a correção é a 9.3; o alerta declara exploração").
- Análise — raciocínio de consequência primeiro (Capítulo 23): quais constatações poderiam levar aos piores desfechos para qual serviço.
- Recomendações — cada uma ligada às constatações, com o tipo de controle (Capítulo 24) e o dono.
- Limites — tamanho da amostra, dados sintéticos, afirmações não verificadas.
- Apêndice — hashes, versões, saídas.
"O VPN-01 roda a 9.1; a correção é a 9.3" pertence às constatações; "então o acesso remoto da CPN é a prioridade 1" pertence à análise, onde o raciocínio sobre a consequência pode ser contestado separadamente.
25.5 Exemplo resolvido: uma prioridade, totalmente argumentada (sintético)
Prioridade 1 — atualizar e redesenhar o acesso remoto da CPN (confiança: alta). Constatação: o VPN-01 (exposto à internet) roda uma versão mais antiga que a correção de uma falha crítica e explorada (Laboratório 5). Constatação: o projeto original põe os usuários remotos diretamente na rede de controle (Capítulo 16). Análise: este é o caminho mais curto da internet até o controle dos alimentadores; a consequência é a perda de controle da distribuição, o desfecho mais grave no modelo de serviço da CPN (Capítulo 21). Recomendação: atualização emergencial para a 9.3 (corretivo/técnico; dono: líder de infraestrutura da CPN, nesta semana) e, depois, terminar o acesso remoto num jump host na DMZ com aprovação por sessão para fornecedores (preventivo/técnico e procedimental; dono: segurança de TO da CPN, no próximo trimestre). Confiança: alta, porque a constatação vem diretamente dos dados de versão e do alerta, e a consequência decorre da arquitetura. Limite: o laboratório não consegue mostrar se a falha já foi explorada; recomenda-se uma avaliação de comprometimento do VPN-01.
25.6 Rubrica de avaliação
Tabela da aula; deslize para ver todas as colunas →
| Critério | 3 (forte) | 2 | 1 | 0 |
|---|---|---|---|---|
| Uso de evidências | Toda constatação rastreável até uma saída de laboratório | Majoritariamente rastreável | Algumas afirmações sem sustentação | Nenhuma evidência |
| Priorização | Consequência primeiro, comparada entre operadores | Fundamentada dentro de cada operador | Ordenada só por rótulos de severidade | Nenhuma |
| Recomendações | Ligadas às constatações, tipificadas, com dono e data | Ligadas, sem donos | Genéricas | Nenhuma |
| Limites e confiança | Específicos e honestos | Genéricos | Simbólicos | Ausentes |
| Reprodutibilidade | Hashes, versões, saídas | Só as saídas | Parcial | Nenhuma |
A rubrica recompensa os mesmos hábitos da prioridade resolvida: toda constatação rastreada até uma saída, consequências comparadas entre operadores, donos e datas nas recomendações, limites honestos e um apêndice reprodutível. Uma nota com 3 em evidências, mas 1 em priorização, listou constatações sem julgá-las.
25.7 Erros comuns e limites
- Listar todas as constatações em vez de priorizar.
- Recomendações que não decorrem de nenhuma constatação.
- Misturar fatos e interpretações na seção de constatações.
- Alegar uma certeza que dados sintéticos não podem fornecer.
Uma nota que lista os seis fluxos do Laboratório 4, os cinco dispositivos sem suporte e todas as contas do Laboratório 7 cometeu o primeiro erro. Recomendar MFA para a CW sem uma constatação sobre as contas da CW é o segundo. Escrever "a conexão RDP é um intruso" nas constatações é o terceiro. Alegar alta confiança sobre exploração no mundo real a partir de dados sintéticos é o quarto.
Exercícios — capítulo 25
EX049 — Prioridades 2 e 3. Objetivo: completar a avaliação. Entradas: Laboratórios 2, 4, 7. Etapas: escreva as prioridades 2 e 3 no formato da prioridade resolvida acima. Evidência esperada: duas prioridades argumentadas. Rubrica: use a rubrica de avaliação do laboratório; 3 = por exemplo, os fluxos RDP corporativo→controle e controle→internet da CW investigados e fechados (Laboratório 4), e as contas de desligados/tóxicas/de fornecedor (Laboratório 7) ou o isolamento dos dispositivos clínicos sem suporte (Laboratório 2), cada uma com raciocínio de consequência, dono e confiança; notas menores conforme a rubrica.
EX050 — Conferência de reprodutibilidade. Objetivo: verificar o trabalho de um colega. Entradas: o apêndice de um colega (ou o seu, trocado). Etapas: rode cada script de novo, compare hashes e saídas e escreva uma declaração de verificação de 100 palavras. Evidência esperada: a declaração. Rubrica: 3 = hashes e saídas comparados, qualquer discrepância explicada (por exemplo, script editado, versão do Python); 2 = só as saídas; 1 = declaração sem rodar de novo; 0 = nada.
Síntese do capítulo
O Laboratório I transforma exercícios separados num único julgamento. Rastreie toda constatação até uma saída reprodutível, raciocine a partir das consequências entre operadores, ligue as recomendações às constatações e aos donos e declare explicitamente a confiança e os limites.