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
-
EX022 — Tempo de cache. Por que os caches podem criar problemas de segurança? Rubrica: 3 = diferenças de tempo entre acessos em cache e fora dele podem vazar informação;; 2 = tempo;; 1 = vago;; 0 = nenhuma.
-
EX023 — Gravidade de bugs de kernel. Por que vulnerabilidades de kernel são tratadas como críticas? Rubrica: 3 = quebram as fronteiras de privilégio e memória das quais os outros controles dependem;; 2 = fronteiras;; 1 = menores;; 0 = nenhuma.
-
EX024 — Risco da chave de assinatura. Por que as chaves de assinatura de firmware precisam ser protegidas? Rubrica: 3 = quem as possui pode tornar qualquer firmware confiável para o secure boot;; 2 = firmware confiável;; 1 = não é importante;; 0 = nenhuma.
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.