O que você vai aprender
Diferenciar máquinas virtuais de contêineres e hipervisores tipo 1 e 2.
Descrever a sequência de boot e o papel do firmware (UEFI, bootloader).
Reconhecer mecanismos de segurança de plataforma (boot seguro, raiz de confiança).
Aplicar o princípio do menor privilégio e o isolamento por hardware.
Um computador, muitos sistemas — com segurança
Um servidor moderno roda dezenas de aplicações isoladas na mesma máquina; um celular executa apps que não confiam uns nos outros; um carro tem dezenas de computadores que precisam arrancar de forma confiável e segura. Como isolar tudo isso? E como garantir que, ao ligar, o software que sobe é o legítimo, não um malware?
Esta aula fecha o curso ligando três temas: virtualização (isolar sistemas inteiros), o boot (do firmware ao SO) e a segurança de plataforma (a cadeia de confiança que protege a partida).
O que veremos nesta aula
contêineres→Boot e
firmware→Boot seguro
(cadeia)→Isolamento e
menor privilégio
Da virtualização ao primeiro byte executado ao ligar, até os mecanismos que garantem que esse byte é confiável.
Máquinas virtuais e contêineres
Contêiner. Isolamento no nível do SO: vários contêineres compartilham o kernel do hospedeiro, isolando processos por namespaces e cgroups.
| Aspecto | VM | Contêiner |
|---|---|---|
| Isola | Hardware (via hipervisor) | Processos (mesmo kernel) |
| Peso | SO completo por VM | Leve (compartilha kernel) |
| Início | Segundos | Milissegundos |
| Isolamento | Forte (fronteira de hardware) | Mais fraco (mesmo kernel) |
Como a virtualização usa o hardware
Virtualizar com segurança exige apoio do hardware. Quando uma VM executa uma instrução privilegiada (acessar um dispositivo, alterar a tabela de páginas), ela não pode mexer no hardware real diretamente. O hardware de virtualização (Intel VT-x, AMD-V) faz a CPU "sair" para o hipervisor (VM exit), que emula a operação e devolve o controle.
Para a memória, há tabelas de páginas aninhadas (EPT/NPT): a MMU traduz duas vezes — endereço da VM → endereço "físico" da VM → endereço físico real —, isolando a memória de cada VM. É a MMU da Aula 8 elevada a outro nível. Contêineres, por não virtualizarem hardware, dispensam isso, mas por isso isolam menos.
Tipos de hipervisor
| Tipo | Onde roda | Exemplos | Uso típico |
|---|---|---|---|
| Tipo 1 (bare-metal) | Direto no hardware | ESXi, Xen, Hyper-V | Servidores, nuvem |
| Tipo 2 (hospedado) | Sobre um SO hospedeiro | VirtualBox, VMware Workstation | Desktop, testes |
Passo a passo: a sequência de boot de um PC
Firmware e bootloader
Bootloader. Programa que o firmware carrega para localizar e dar partida no kernel do SO (ex.: GRUB, U-Boot).
UEFI/BIOS→Bootloader→Kernel→Init / tarefas
Boot em embarcados: direto da flash
Em embarcados, o boot costuma ser bem mais curto. Muitos microcontroladores não têm bootloader complexo nem SO completo: ao sair do reset, a CPU começa a executar o firmware da aplicação gravado diretamente na flash interna (execute-in-place). Não há disco para carregar um kernel.
Quando há um RTOS como o FreeRTOS, ele é linkado junto com a aplicação num único binário: o "boot" é apenas inicializar a stack, zerar a memória e chamar main(), que cria as tarefas e inicia o escalonador. Dispositivos maiores (roteadores, smart TVs) usam bootloaders como o U-Boot, que podem inclusive carregar a imagem pela rede.
A cadeia de confiança como lacres
Mecanismos de segurança de plataforma
| Mecanismo | O que faz | Apoio de hardware |
|---|---|---|
| Boot seguro | Verifica assinatura de cada estágio | Chaves na raiz de hardware |
| Raiz de confiança | Guarda chaves e mede o boot | TPM / enclave seguro |
| Isolamento | Separa processos e SO | Modos de CPU, MMU/MPU |
| Menor privilégio | Mínimo de permissões por componente | Anéis, capacidades |
A cadeia de boot seguro
(hardware)→Verifica e roda
firmware→Verifica e roda
bootloader→Verifica e roda
kernel
TPM, atestação e secure enclaves
Atestação remota. A plataforma prova a um servidor, com assinaturas do TPM, que arrancou software íntegro e esperado.
Além do TPM, processadores oferecem enclaves seguros (Intel SGX, ARM TrustZone): áreas isoladas onde código e dados sensíveis (chaves, biometria) rodam protegidos até do próprio SO. Em embarcados, a TrustZone divide o chip em "mundo seguro" e "mundo normal", base para pagamentos e DRM em celulares.
Verifique seu entendimento
O que diferencia fundamentalmente um contêiner de uma máquina virtual?
Segurança em IoT: o elo mais fraco
Dispositivos de IoT são alvos frequentes justamente por falharem nos fundamentos desta aula. Botnets como a Mirai tomaram milhões de câmeras e roteadores explorando senhas padrão nunca alteradas e firmware sem atualização.
As defesas são as mesmas que estudamos: boot seguro para impedir firmware adulterado; atualização assinada (OTA) para corrigir falhas; menor privilégio para que serviços não rodem como root; e isolamento por hardware (TrustZone) para chaves. Em IoT, a segurança de plataforma não é luxo — é o que separa um produto de uma porta de entrada para ataques.
Confusões frequentes
• Achar que contêiner é "uma VM leve" — não há SO próprio nem virtualização de hardware; o kernel é compartilhado.
• Inverter a ordem do boot — é firmware → bootloader → kernel → init.
• Confundir boot seguro (verifica assinatura) com boot rápido (só desempenho).
• Pensar que o menor privilégio é opcional — é princípio central de segurança.
Como pensar segurança de plataforma
Revele a resposta
Por que o isolamento de um contêiner é considerado mais fraco que o de uma VM?
Revisão relâmpago
Para onde isso leva
Esta aula reúne quase todo o curso sob a ótica do isolamento:
- O isolamento usa modos de CPU (Aula 1) e MMU/MPU (Aula 8).
- A virtualização de memória estende a paginação (Aula 8) com tabelas aninhadas.
- O boot em embarcados liga-se ao RTOS (Aula 12) linkado à aplicação.
- Tudo prepara a apresentação do projeto e a revisão (Aula 14).
Resumo da aula
Atividade em grupo · Laboratório embarcado: cadeia de boot segura
Em grupos, mapeiem a cadeia de confiança de um dispositivo embarcado.
Roteiro
- Escolham um alvo: roteador, smart camera ou microcontrolador com bootloader.
- Desenhem a sequência de boot, do reset ao firmware da aplicação.
- Identifiquem onde uma assinatura deveria ser verificada (boot seguro).
- Apontem 3 vulnerabilidades plausíveis e como mitigá-las.
Mini-quiz · Aula 13
20 questões sobre esta aula. Escolha e veja a explicação na hora.
📌 Resumo — leve isto para a prova
- VMs virtualizam hardware (isolamento forte); contêineres compartilham o kernel (leves).
- Hipervisores tipo 1 rodam bare-metal; tipo 2, sobre um SO hospedeiro.
- O boot vai do firmware ao bootloader, ao kernel e ao init; embarcados bootam da flash.
- O boot seguro forma uma cadeia de confiança da raiz de hardware (TPM) ao SO.
- Isolamento, raiz de confiança e menor privilégio sustentam a segurança de plataforma.