Capítulo 8 — Arquitetura de computadores
Mapa da aula
Aula 08 publicada. Mapa, exemplo, EX022.
flowchart TD
N0["8.1 Níveis de privilégio"]
N1["8.2 Inicialização confiável"]
N2["8.3 Firmware"]
N3["8.4 Módulos de segurança de hardware"]
N0 --> N1 --> N2 --> N3
N3 --> EX["Exemplo resolvido"]
EX --> Q["Exercício EX022"]
Desenho lógico
flowchart LR
N0["8.1 Níveis de privilégio"]
N1["8.2 Inicialização confiável"]
N2["8.3 Firmware"]
N3["8.4 Módulos de segurança de hardware"]
N0 --> N1 --> N2 --> N3 --> Q["EX022"]
[8.1 Níveis de privilégio]
|
v
[8.2 Inicialização confiável]
|
v
[8.3 Firmware]
|
v
[8.4 Módulos de segurança de hardware]
|
v
[Exemplo resolvido] --> [Exercício EX022]
Objetivos de aprendizagem
Você vai (1) explicar como o hardware impõe o isolamento; (2) descrever a inicialização confiável; (3) relacionar o firmware ao risco de segurança.
8.1 Níveis de privilégio
Os processadores executam código em diferentes níveis de privilégio. O kernel do sistema operacional roda com controle total, enquanto as aplicações rodam restritas e precisam pedir ao kernel para acessar o hardware. Lindiwe aprende que essa separação impede uma aplicação comprometida de ler diretamente a memória de outro programa. As unidades de gerenciamento de memória impõem as fronteiras entre os processos. O Prof. Hale explica que grande parte da segurança de software depende de esses recursos de hardware funcionarem corretamente, e é por isso que as falhas de processador afetam todos ao mesmo tempo. Lindiwe lê sobre falhas de processador que permitiram a programas inferir o conteúdo da memória através dessa fronteira.
8.2 Inicialização confiável
Quando um notebook liga, o firmware carrega um bootloader, que carrega o sistema operacional. Se um atacante alterar qualquer etapa, as verificações de segurança posteriores podem ser contornadas. O secure boot verifica uma assinatura digital em cada etapa e se recusa a executar código não assinado. Lindiwe confere um inventário sintético dos notebooks da Saltmarsh e encontra um pequeno grupo com o secure boot desativado por causa de um driver antigo. Ela recomenda substituir o driver para que o recurso possa ser ativado em toda a frota. A equipe de desktops agenda a substituição do driver para o próximo trimestre.
8.3 Firmware
O firmware das placas de rede, dos discos e das controladoras de gerenciamento roda abaixo do sistema operacional e raramente é atualizado. Lindiwe aprende que as controladoras de gerenciamento dos servidores muitas vezes têm sua própria interface de rede e suas próprias senhas. Na Saltmarsh, várias controladoras ainda usam as credenciais de fábrica na rede de servidores. Ela recomenda movê-las para uma rede de gerenciamento separada e trocar as credenciais. O Prof. Hale observa que os atacantes preferem as camadas que os defensores esquecem de monitorar. Lindiwe também lista as versões de firmware do inventário sintético e descobre que a maioria das controladoras de gerenciamento não foi atualizada desde a instalação, o que ela acrescenta ao acúmulo de correções.
8.4 Módulos de segurança de hardware
Algumas chaves precisam de uma proteção mais forte do que o software oferece. Um módulo de segurança de hardware guarda as chaves dentro de um hardware resistente a violação e executa operações criptográficas sem revelá-las. Lindiwe aprende que o provedor de pagamentos da Saltmarsh usa esses módulos, enquanto a chave de assinatura de código da própria Saltmarsh fica num arquivo num servidor de build. Ela recomenda movê-la para um token de hardware ou um serviço gerenciado de chaves, para que roubar o servidor de build não dê a um atacante a capacidade de assinar atualizações maliciosas. O líder de desenvolvimento concorda em orçar a mudança antes da próxima versão.
Exemplo resolvido
Lindiwe liga os níveis de privilégio, o secure boot, as credenciais das controladoras de gerenciamento e a proteção de chaves em hardware a melhorias concretas na Saltmarsh.
Caso sintético. Os inventários são sintéticos.
Erros e limites
O firmware e as controladoras de gerenciamento muitas vezes ficam com as credenciais de fábrica.
Exercícios
-
EX022 — Separação do kernel. O que a separação entre kernel e aplicações impede? Rubrica: 3 = uma aplicação ler a memória de outra;; 2 = parcialmente correto;; 1 = vago;; 0 = nenhuma.
-
EX023 — Lacuna do secure boot. Por que o secure boot estava desativado em alguns notebooks? Rubrica: 3 = um driver antigo;; 2 = parcialmente correto;; 1 = outro;; 0 = nenhuma.
-
EX024 — Chave de assinatura. Para onde a chave de assinatura de código deve ir? Rubrica: 3 = um token de hardware ou um serviço gerenciado de chaves;; 2 = parcialmente correto;; 1 = vago;; 0 = nenhuma.
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.