Partilhar via


Arranque Seguro

A Inicialização Segura é um recurso da UEFI (Unified Extensible Firmware Interface) que requer que todos os componentes de firmware e software de baixo nível sejam verificados antes do carregamento. Durante a inicialização, a Inicialização Segura UEFI verifica a assinatura de cada software de inicialização, incluindo drivers de firmware UEFI (também conhecidos como ROMs de opção), aplicativos EFI (Extensible Firmware Interface) e os drivers e binários do sistema operacional. Se as assinaturas forem válidas ou confiáveis pelo fabricante do equipamento original (OEM), a máquina inicializa e o firmware dá controle ao sistema operacional.

Componentes e processo

A Inicialização Segura depende destes componentes críticos:

  • Chave da plataforma (PK) - Estabelece confiança entre o proprietário da plataforma (Microsoft) e o firmware. A metade pública é PKpub e a metade privada é PKpriv.
  • Base de dados de chaves de inscrição (KEK) - Estabelece confiança entre o SO e o firmware da plataforma. A metade pública é KEKpub e a metade privada é KEKpriv.
  • Banco de dados de assinaturas (db) - Contém os resumos para signatários confiáveis (chaves públicas e certificados) dos módulos de código de firmware e software autorizados a interagir com o firmware da plataforma.
  • Banco de dados de assinaturas revogadas (dbx) – Contém resumos revogados de módulos de código identificados como maliciosos, vulneráveis, comprometidos ou não confiáveis. Se um hash estiver na base de dados de assinaturas e na base de dados de assinaturas revogadas, a base de dados de assinaturas revogadas terá precedência.

A figura e o processo a seguir explicam como esses componentes são atualizados:

Diagrama que mostra os componentes da Inicialização Segura.

O OEM armazena os resumos de Inicialização Segura na RAM não volátil (NV-RAM) da máquina no momento da fabricação.

  1. O banco de dados de assinatura é preenchido com os signatários ou hashes de imagem de aplicativos UEFI, carregadores do sistema operacional (como o Microsoft Operating System Loader ou o Boot Manager) e drivers UEFI confiáveis.
  2. As assinaturas revogadas dbx são preenchidas com resumos de módulos que não são mais confiáveis.
  3. O banco de dados de chaves de registro de chaves (KEK) é preenchido com chaves de assinatura que podem ser usadas para atualizar o banco de dados de assinaturas e o banco de dados de assinaturas revogadas. As bases de dados podem ser editadas através de atualizações assinadas com a chave correta ou através de atualizações por um utilizador autorizado fisicamente presente utilizando menus de firmware.
  4. Depois que os bancos de dados db, dbx e KEK são adicionados e a validação e o teste finais do firmware são concluídos, o OEM bloqueia a edição do firmware e gera uma chave de plataforma (PK). A PK pode ser usada para assinar atualizações para o KEK ou para desativar a Inicialização Segura.

Durante cada estágio do processo de inicialização, os resumos do firmware, carregador de inicialização, sistema operacional, drivers do kernel e outros artefatos da cadeia de inicialização são calculados e comparados a valores aceitáveis. O firmware e o software considerados não confiáveis não podem ser carregados. Assim, a injeção de malware de baixo nível ou ataques de malware pré-inicialização podem ser bloqueados.

Arranque Seguro na frota do Azure

Atualmente, todas as máquinas integradas e implantadas na frota de computação do Azure para hospedar cargas de trabalho de clientes vêm do chão de fábrica com a Inicialização Segura habilitada. Ferramentas e processos direcionados estão em vigor em todos os estágios do pipeline de construção e integração de hardware para garantir que a ativação da Inicialização Segura não seja revertida por acidente ou intenção maliciosa.

A validação de que os resumos db e dbx estão corretos garante:

  • O bootloader está presente em uma das entradas db
  • A assinatura do carregador de inicialização é válida
  • O host inicializa com software confiável

Ao validar as assinaturas do KEKpub e PKpub, podemos confirmar que apenas as partes confiáveis têm permissão para modificar as definições de qual software é considerado confiável. Por fim, ao garantir que a inicialização segura esteja ativa, podemos validar que essas definições estão sendo aplicadas.

Próximos passos

Para saber mais sobre o que fazemos para promover a integridade e a segurança da plataforma, consulte: