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

Capítulo 8 — Arquitetura de computadores

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 8 — Arquitetura de computadores

Mapa da aula

Aula 08 publicada. Mapa, exemplo, EX022.

flowchart TD
  N0["8.1 Camadas de um computador"]
  N1["8.2 Privilégio e proteção de memória"]
  N2["8.3 Raízes de confiança e secure boot"]
  N3["Síntese"]
  N0 --> N1 --> N2 --> N3
  N3 --> EX["Exemplo resolvido"]
  EX --> Q["Exercício EX022"]

Desenho lógico

flowchart LR
  N0["8.1 Camadas de um computador"]
  N1["8.2 Privilégio e proteção de memória"]
  N2["8.3 Raízes de confiança e secure boot"]
  N3["Síntese"]
  N0 --> N1 --> N2 --> N3 --> Q["EX022"]
[8.1 Camadas de um computador]
    |
    v
[8.2 Privilégio e proteção de memória]
    |
    v
[8.3 Raízes de confiança e secure boot]
    |
    v
[Síntese]
    |
    v
[Exemplo resolvido] --> [Exercício EX022]

Objetivos de aprendizagem

Você vai (1) descrever as camadas de CPU, memória e armazenamento relevantes para a segurança; (2) explicar anéis de privilégio e proteção de memória; (3) explicar raízes de confiança em hardware e o secure boot.

8.1 Camadas de um computador

Sofia estuda como processadores, caches, memória principal e armazenamento funcionam juntos. Daniel liga cada camada à segurança. Os caches aceleram o acesso à memória, mas diferenças de tempo entre dados em cache e fora dele já permitiram ataques de side channel como os que Anderson (2020) discute. A memória principal guarda chaves e segredos enquanto os programas rodam, então o acesso físico ou bugs podem expô-los. O armazenamento guarda os dados em repouso, e é por isso que os servidores do sistema de bilhetagem criptografam os discos. Entender as camadas ajuda um arquiteto a perguntar onde um segredo vive a cada momento e que componente precisa ser confiável para protegê-lo ali.

8.2 Privilégio e proteção de memória

Os processadores oferecem níveis de privilégio: o kernel do sistema operacional roda com privilégio alto, e as aplicações com privilégio mais baixo. A unidade de gerenciamento de memória dá a cada processo seu próprio espaço de endereçamento, de modo que um programa não consegue ler a memória de outro sem permissão. Esses mecanismos de hardware implementam a mediação completa e o menor privilégio no nível mais baixo. Quando um bug permite que um programa atravesse essas fronteiras, as garantias de todo o sistema falham. Sofia vê por que máquinas virtuais e contêineres dependem de recursos do hardware, e por que vulnerabilidades de kernel são tratadas como críticas: elas minam as fronteiras das quais todos os outros controles dependem.

8.3 Raízes de confiança e secure boot

Um dispositivo precisa partir de algo em que confia. Uma raiz de confiança em hardware, como uma ROM de boot e uma chave gravada no chip, verifica a assinatura do primeiro software carregado, que verifica o estágio seguinte, e assim por diante: isso é o secure boot. Os validadores de passagens da Corvia o usam para que firmware adulterado não rode. O NIST SP 800-160 Vol. 1 Rev. 1 trata esses mecanismos como parte da engenharia de confiabilidade ao longo de todo o ciclo de vida. Sofia observa o lado operacional: as chaves de assinatura do firmware precisam ser protegidas, porque quem as possui pode tornar confiável qualquer firmware.

Exemplo resolvido

Sofia rastreia onde a chave de um validador de passagens vive no armazenamento, na memória e no cache, e explica o secure boot da ROM de boot até a aplicação.

Caso sintético. Os detalhes dos dispositivos são sintéticos; Anderson (2020) e o SP 800-160 Vol. 1 Rev. 1 são reais.

Erros e limites

As proteções de hardware já tiveram falhas que exigiram correções de microcódigo e de projeto. O secure boot não protege contra bugs em software corretamente assinado.

Exercícios

Síntese

Camadas de hardware, mecanismos de privilégio e raízes de confiança formam a base sobre a qual se apoia todo controle de segurança de nível superior.

Continue estudando — aula 08 (capítulo 08 de 50)

← Capítulo 07 · Índice das aulas · Capítulo 09 →

Continue para a próxima aula já escrita.