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

Capítulo 12 — Sistemas operacionais

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 12 — Sistemas operacionais

Mapa da aula

Aula 12 publicada. Mapa, exemplo, EX023.

flowchart TD
  N0["12.1 Onde a criptografia mora"]
  N1["12.2 Políticas de todo o sistema"]
  N2["12.3 Inicialização segura e atualizações"]
  N3["12.4 Entropia e armazenamento de chaves"]
  N4["Síntese"]
  N0 --> N1 --> N2 --> N3 --> N4
  N4 --> EX["Exemplo resolvido"]
  EX --> Q["Exercício EX023"]

Desenho lógico

flowchart LR
  N0["12.1 Onde a criptografia mora"]
  N1["12.2 Políticas de todo o sistema"]
  N2["12.3 Inicialização segura e atualizações"]
  N3["12.4 Entropia e armazenamento de chaves"]
  N4["Síntese"]
  N0 --> N1 --> N2 --> N3 --> N4 --> Q["EX023"]
[12.1 Onde a criptografia mora]
    |
    v
[12.2 Políticas de todo o sistema]
    |
    v
[12.3 Inicialização segura e atualizações]
    |
    v
[12.4 Entropia e armazenamento de chaves]
    |
    v
[Síntese]
    |
    v
[Exemplo resolvido] --> [Exercício EX023]

Objetivos de aprendizagem

Você vai (1) localizar bibliotecas e configurações criptográficas num sistema operacional; (2) explicar as políticas criptográficas de todo o sistema; (3) entender a inicialização segura e a assinatura de atualizações; e (4) gerenciar a entropia e o armazenamento de chaves. O capítulo parte dos Capítulos 8–9 e prepara o inventário (Capítulo 22) e a manutenibilidade (Capítulo 39).

12.1 Onde a criptografia mora

Num servidor Linux, o TLS normalmente vem de uma biblioteca compartilhada (OpenSSL, GnuTLS, NSS, BoringSSL em algumas aplicações), o SSH do OpenSSH, as VPNs do IPsec do kernel mais um daemon IKE em espaço de usuário. As aplicações também podem embutir as próprias bibliotecas — programas Java, Go e Rust muitas vezes o fazem. Um inventário que verifica só a biblioteca do sistema deixa escapar a criptografia ligada estaticamente ou embutida.

Encontrar código embutido exige examinar binários e pacotes de aplicação, não apenas o gerenciador de pacotes. Num binário Go, as informações de build listam os módulos criptográficos compilados; em Java, os provedores de segurança configurados mostram qual biblioteca trata o TLS. Essas verificações pertencem ao script de inventário, para que todos os hosts sejam avaliados da mesma forma.

12.2 Políticas de todo o sistema

Algumas distribuições oferecem políticas criptográficas de todo o sistema, que definem os algoritmos padrão para todas as bibliotecas que as respeitam. As políticas são uma alavanca poderosa de agilidade: mudar um perfil pode ativar grupos híbridos ou desativar algoritmos fracos em muitos serviços. O seu limite é a cobertura — aplicações com bibliotecas embutidas as ignoram.

A BPA usa a política para ativar o grupo híbrido, numa única mudança, em todos os serviços que usam a biblioteca do sistema, e depois verifica o handshake de cada serviço para confirmar o efeito. Os serviços que não mostram o grupo híbrido após a mudança são exatamente os que têm bibliotecas embutidas, então a implantação da política funciona também como teste da cobertura do inventário.

12.3 Inicialização segura e atualizações

O firmware verifica a assinatura do bootloader, que verifica a do kernel, e assim por diante. Essas assinaturas precisam continuar verificáveis durante toda a vida do dispositivo, que pode passar de uma década. Isso faz das cadeias de inicialização candidatas precoces às assinaturas baseadas em hash (LMS, XMSS, conforme a SP 800-208), que o CNSA 2.0 também prioriza para a assinatura de software e firmware.

Um dispositivo entregue em 2026 com vida útil de quinze anos ainda estará verificando atualizações em 2041, então a chave de inicialização escolhida agora precisa continuar segura por todo esse período. Trocar a raiz de confiança depois pode exigir acesso físico ou ser impossível, e é por isso que as cadeias de inicialização recebem a primeira prioridade, e não a última.

12.4 Entropia e armazenamento de chaves

As chaves precisam de boa aleatoriedade vinda do sistema operacional (getrandom), sobretudo no início da inicialização e em máquinas virtuais. As chaves privadas pertencem a armazenamento protegido — HSMs, TPMs ou repositórios de chaves do sistema operacional —, nunca a arquivos legíveis por todos.

Máquinas virtuais clonadas de uma mesma imagem podem começar com estado aleatório idêntico, de modo que chaves geradas na primeira inicialização podem se repetir entre hosts. Esperar que o getrandom indique que o pool está pronto e gerar as chaves depois de concluída a inicialização evita isso. Nos servidores do terminal da BPA, as chaves privadas TLS ficam no repositório de chaves apoiado pelo TPM e são auditadas mensalmente quanto a desvios nas permissões de arquivo.

12.5 Exemplo resolvido

O inventário de um servidor do terminal da BPA encontra o OpenSSL 3.x como biblioteca do sistema, uma aplicação Java com provedor próprio, um binário Go ligado estaticamente e um daemon IPsec. Ativar o TLS híbrido pela política do sistema afeta apenas o primeiro; os outros dois precisam de mudanças nas aplicações. O plano de migração registra um item de trabalho por provedor criptográfico, não por servidor.

A contagem por provedor dá quatro itens de trabalho para este servidor, com responsáveis diferentes: a equipe de plataforma para o OpenSSL e o IPsec, a equipe da aplicação para o Java e os desenvolvedores do serviço Go, que precisam recompilar com um conjunto de ferramentas mais novo. Um plano contado por servidor teria marcado este host como concluído depois da mudança de política, enquanto dois dos seus quatro provedores continuavam intocados.

12.6 Erros comuns e limites

O exemplo resolvido mostrou uma mudança de política alcançando apenas um de quatro provedores num único host. As assinaturas da cadeia de inicialização importam porque precisam continuar válidas por toda a vida do dispositivo e são difíceis de substituir, então vêm primeiro nas migrações de assinatura. Chaves guardadas em diretórios de configuração são copiadas para backups e imagens, onde podem sobreviver aos sistemas que deveriam proteger.

Exercícios

Síntese

A criptografia mora em muitos provedores num mesmo host; as políticas do sistema ajudam, mas não cobrem o código embutido; as cadeias de inicialização de vida longa precisam de migração precoce; as chaves precisam de armazenamento protegido e boa entropia.

Continue estudando — capítulo 12 de 50

← Capítulo 11 · Índice de capítulos do curso · Capítulo 13 →

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