Arranque Seguro

O Arranque Seguro é uma funcionalidade da Interface de Firmware Extensível Unificado (UEFI) que requer que todos os componentes de firmware e software de baixo nível sejam verificados antes do carregamento. Durante o arranque, o Arranque Seguro UEFI verifica a assinatura de cada parte do software de arranque, incluindo controladores de firmware UEFI (também conhecidos como ROMs de opção), aplicações EFI (Extensible Firmware Interface) e os controladores e binários do sistema operativo. Se as assinaturas forem válidas ou forem consideradas fidedignas pelo Fabricante de Equipamento Original (OEM), o computador arranca e o firmware dá controlo ao sistema operativo.

Componentes e processo

O Arranque Seguro baseia-se nestes componentes críticos:

  • Chave de 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 chave de inscrição de chaves (KEK) – estabelece confiança entre o SO e o firmware da plataforma. A metade pública é KEKpub e a metade privada é KEKpriv.
  • Base de dados de assinatura (db) – contém os resumos dos signatários fidedignos (chaves públicas e certificados) dos módulos de firmware e código de software autorizados a interagir com o firmware da plataforma.
  • Base 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 fidedignos. 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 seguintes explicam como estes componentes são atualizados:

Diagrama que mostra os componentes de Arranque Seguro.

O OEM armazena os resumos de Arranque Seguro na RAM nãovolatile (NV-RAM) da máquina no momento do fabrico.

  1. A base de dados de assinaturas (bd) é preenchida com os signatários ou hashes de imagem das aplicações UEFI, carregadores do sistema operativo (como o Microsoft Operating System Loader ou Boot Manager) e os controladores UEFI fidedignos.
  2. A base de dados de assinaturas revogadas (dbx) é preenchida com resumos de módulos que já não são fidedignos.
  3. A base de dados da chave de inscrição (KEK) é preenchida com chaves de assinatura que podem ser utilizadas para atualizar a base de dados de assinaturas e a base de dados de assinaturas revogada. 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 através de menus de firmware.
  4. Após as bases de dados db, dbx e KEK terem sido adicionadas e a validação final de firmware e teste estar concluída, o OEM bloqueia a edição do firmware e gera uma chave de plataforma (PK). O PK pode ser utilizado para assinar atualizações para a KEK ou para desativar o Arranque Seguro.

Durante cada fase do processo de arranque, os resumos do firmware, do bootloader, do sistema operativo, dos controladores de kernel e de outros artefactos da cadeia de arranque são calculados e comparados com valores aceitáveis. O firmware e o software detetados como não fidedignos não têm permissão para carregar. Assim, os ataques de malware de baixo nível ou ataques de software maligno de pré-arranque podem ser bloqueados.

Arranque Seguro na frota do Azure

Atualmente, todos os computadores integrados e implementados na frota de computação do Azure para alojar cargas de trabalho de clientes provêm de pisos de fábrica com o Arranque Seguro ativado. As ferramentas e os processos direcionados estão implementados em todas as fases do pipeline de compilação e integração de hardware para garantir que a ativação do Arranque Seguro não é revertida por acidente ou por intenções maliciosas.

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

  • O bootloader está presente numa das entradas DB
  • A assinatura do bootloader é válida
  • O anfitrião arranca com software fidedigno

Ao validar as assinaturas de KEKpub e PKpub, podemos confirmar que apenas as entidades fidedignas têm permissão para modificar as definições do software considerado fidedigno. Por fim, ao garantir que o arranque seguro está ativo, podemos validar que estas definições estão a ser impostas.

Passos seguintes

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