Capítulo 44 — Projeto final de engenharia I
Mapa da aula
Aula 44 publicada. Mapa, exemplo, EX130.
flowchart TD
N0["44.1 Proposta"]
N1["44.3 Marco 1"]
N2["Nota prática"]
N3["44.1b Métricas de sucesso e pontos de controle"]
N4["Nota de campo — ética cedo"]
N5["Síntese"]
N0 --> N1 --> N2 --> N3 --> N4 --> N5
N5 --> EX["Exemplo resolvido"]
EX --> Q["Exercício EX130"]
Desenho lógico
flowchart LR
N0["44.1 Proposta"]
N1["44.3 Marco 1"]
N2["Nota prática"]
N3["44.1b Métricas de sucesso e pontos de controle"]
N4["Nota de campo — ética cedo"]
N5["Síntese"]
N0 --> N1 --> N2 --> N3 --> N4 --> N5 --> Q["EX130"]
[44.1 Proposta]
|
v
[44.3 Marco 1]
|
v
[Nota prática]
|
v
[44.1b Métricas de sucesso e pontos de controle]
|
v
[Nota de campo — ética cedo]
|
v
[Síntese]
|
v
[Exemplo resolvido] --> [Exercício EX130]
Objetivos de aprendizagem
Você vai (1) propor um projeto final que entregue uma melhoria mensurável do CNHP; (2) definir o escopo e os não objetivos; (3) estabelecer um plano de verificação mapeado para as linhas do Laboratório I.
44.1 Proposta
Uma proposta de projeto final do CNHP traz o problema, os usuários, os requisitos (segurança de processo primeiro), o esboço da arquitetura, os marcos, o plano do laboratório de verificação e o parágrafo de ética. Projetos finais que exigem trabalho de exploit são rejeitados.
A proposta de Projeto Final I de Lena foi o compilador de políticas descrito no exemplo resolvido abaixo. Os seus requisitos punham a segurança física em primeiro lugar: o SIS-B precisa continuar inalcançável a partir de toda zona roteada. Os seus marcos, o plano de laboratório e o parágrafo de ética foram revisados antes do início da codificação. O projeto não precisou de trabalho de exploit, porque o seu objetivo era provar que as regras conferem com o projeto, e não invadir nada na planta.
44.2 Não objetivos
Liste explicitamente o que você não vai construir (módulos de exploit, varredura de planta em operação, oráculos de risco por aprendizado de máquina, pontuações vazias).
Os não objetivos de Lena foram escritos na sua proposta e assinados pelo orientador: nenhuma implantação ao vivo, nenhuma configuração do SIS-B e nenhuma varredura ativa. Quando um colega sugeriu acrescentar varredura automática para conferir as regras implantadas, ela apontou para a lista congelada e manteve as verificações do compilador funcionando sobre exportações. Escrever os não objetivos cedo deu a ela uma resposta clara para toda extensão tentadora ao longo do período.
44.3 Marco 1
Algo demonstrável sobre dados sintéticos da planta na semana 3: por exemplo, o monitor atendendo ao arquivo de kill switch em ≤30 s, com um teste.
Caso sintético — Ashford Batch Plant. As propostas de Projeto Final I que mencionavam "auto-pwn" foram devolvidas; a distribuição de listas de permissões assinadas com falha fechada avançou.
Outras propostas na turma de Lena construíram a distribuição de listas de permissões assinadas. O marco 1 do próprio compilador de Lena atingiu a alcançabilidade para os nove condutos da ABP, mas produziu vetores de teste para apenas sete regras. A demonstração rodou inteiramente sobre exportações sintéticas, e a lacuna virou o primeiro item do marco 2.
44.4 Erros e limites
O aumento de escopo é o principal assassino — congele os não objetivos.
Durante o projeto final de Lena, os revisores sugeriram acrescentar um painel, publicações ao vivo no firewall e suporte a uma segunda planta. Cada uma levaria semanas, e nenhuma era necessária para provar que o compilador conferia com o projeto. Ela respondeu a cada sugestão com os não objetivos congelados e as pôs numa lista de trabalhos futuros. Os dois vetores faltantes do marco 1 viraram a primeira tarefa do marco 2, então o tempo restante foi para terminar o que ela tinha prometido. O seu escopo final conferiu com a proposta.
Nota prática
Propostas que não conseguem nomear uma linha do Laboratório I para cada requisito Must voltam para rascunho.
44.1b Métricas de sucesso e pontos de controle
Defina duas métricas que você vai mostrar na defesa (por exemplo, o tempo até o monitor negar todas as escritas quando a política falta, a porcentagem de merges da lista de permissões que citam uma permissão de trabalho). O Projeto Final I tem três pontos de controle obrigatórios no calendário do CNHP: proposta aceita, demonstração do marco 1 na bancada, verificação ética intermediária. Perder um ponto de controle congela a codificação até a recuperação.
Registro de riscos do projeto final: aumento de escopo, atraso de dependências, indisponibilidade de revisores, confusão sobre a fronteira ética — cada um com um alerta precoce e uma mitigação. Demonstrações de marco que pulam a falha fechada recebem nota zero naquele ponto de controle.
As duas métricas de Lena foram a alcançabilidade dos condutos e a cobertura de vetores. As duas aparecem na sua defesa.
Nota de campo — ética cedo
Uma proposta que incluía uma varredura de planta em operação foi rejeitada no ponto de controle ético antes que qualquer código fosse escrito. Mapear os requisitos Must para as linhas do Laboratório I na mesma revisão evitou um projeto bonito que não conseguiria mostrar a falha fechada.
Um ponto de controle perdido é recuperado com um plano escrito, acordado com o orientador antes que a codificação recomece.
Cada métrica é medida com o mesmo script no marco 1 e na defesa, para que os números sejam comparáveis.
44.5 Exemplo resolvido — marco 1 do projeto final (ABP sintética)
O projeto final de Lena constrói um compilador verificado de políticas de zonas e condutos: ele lê um modelo de zonas e emite regras de firewall mais vetores de conformidade. Não objetivos: nenhuma implantação ao vivo, nenhuma configuração do SIS-B, nenhuma varredura ativa. Métrica de sucesso do marco 1: para o modelo de nove condutos da ABP, o compilador produz regras cuja alcançabilidade (conferida com o código de grafos do Capítulo 2) é exatamente igual à do projeto, e toda regra tem pelo menos um vetor de passagem e um de bloqueio. No ponto de controle, ele atingiu a alcançabilidade para 9/9 condutos, mas produziu vetores para apenas 7/9 regras; a lacuna é o item de abertura do marco 2.
Exercícios
- EX130 — Não objetivo. Três não objetivos para um projeto final de painel de cobertura. Rubrica: 3 = três claros; 2 = dois; 1 = um; 0 = nada.
- EX131 — Marco. Marco da semana 3 com teste de aceitação. Rubrica: 3 = demonstração + teste; 2 = só a demonstração; 1 = vago; 0 = nada.
- EX132 — Ética. Parágrafo de ética de quatro frases. Rubrica: 3 = autorização, sintético, uso dual, divulgação; 2 = parcial; 1 = fraco; 0 = nada.
Síntese
Entregue valor de programa relevante para a segurança física; congele os não objetivos cedo.
Continue estudando — capítulo 44 de 50
← Capítulo 43 · Índice de capítulos do curso · Capítulo 45 →
Siga para a próxima lição escrita.