Compartilhar via


Inicialização Segura

A inicialização segura é um recurso do UEFI (Unified Extensible Firmware Interface) que exige que todos os componentes de software e firmware de nível baixo sejam verificados antes do carregamento. Durante a inicialização, a inicialização segura do UEFI verifica a assinatura de cada parte do software de inicialização, inclusive de 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 forem confiáveis pelo OEM (fabricante original do equipamento), o computador será inicializado e o firmware dará controle ao sistema operacional.

Componentes e processo

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

  • Chave de plataforma (PK) – estabelece a relação de confiança entre o proprietário da plataforma (Microsoft) e o firmware. A metade pública é PKpub e a metade privada é PKpriv.
  • O banco de dados de KEK (chave de registro de chave) – estabelece a relação de confiança entre o sistema operacional e o firmware da plataforma. A metade pública é KEKpub e a metade privada é KEKpriv.
  • DB (Banco de Dados) de assinatura – mantém os resumos de assinantes confiáveis (chaves públicas e certificados) do firmware e dos módulos de código de software autorizados para interagir com o firmware da plataforma.
  • Banco de dados de assinaturas revogadas (dbx) – mantém resumos revogados de módulos de código que foram identificados como mal-intencionados, vulneráveis, comprometidos ou não confiáveis. Se um hash estiver no BD de assinatura e no BD de assinaturas revogadas, o banco de dados de assinaturas revogadas terá o precedente.

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

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

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

  1. O db (banco de dados) de assinatura é preenchido com os codificadores ou hashes de imagem de aplicativos UEFI, carregadores de sistema operacional (como o Carregador do Sistema Operacional da Microsoft ou o Gerenciador de Inicialização) e drivers UEFI que são confiáveis.
  2. O dbx (banco de dados de assinaturas revogadas) é preenchido com resumos de módulos que não são mais confiáveis.
  3. O banco de dados de KEK (chave de registro de chave) é preenchido com chaves de assinatura que podem ser usadas para atualizar o banco de dados de assinatura e o banco de dados de assinaturas revogadas. Os bancos de dados podem ser editados por meio de atualizações que são assinadas com a chave correta ou por meio de atualizações por um usuário autorizado fisicamente presente usando menus de firmware.
  4. Após a adição de bancos de dados de KEK, dbx e db e a conclusão da validação e do teste do firmware final, o OEM bloqueará a edição do firmware e gerará uma PK (chave de plataforma). 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, o carregador de inicialização, o sistema operacional, os drivers de kernel e outros artefatos da cadeia de inicialização são calculados e comparados com valores aceitáveis. O firmware e o software que são identificados como não confiáveis não têm permissão para serem carregados. Assim, a injeção de malware de nível baixo ou os ataques de malware pré-inicialização podem ser bloqueados.

Inicialização segura na frota do Azure

Hoje, todos os computadores que são integrados e implantados na computação do Azure da frota para hospedar cargas de trabalho do cliente vêm de fábrica com a Inicialização Segura habilitada. Ferramentas e processos de destino estão em vigor em todos os estágios no pipeline de integração e desenvolvimento de hardware para garantir que a habilitação de inicialização segura não seja revertida por acidente ou de forma mal-intencionada.

Validar se os resumos do db e do dbx está correta garante:

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

Ao validar as assinaturas de KEKpub e PKpub, podemos confirmar que apenas 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 está ativa, podemos validar que essas definições estão sendo impostas.

Próximas etapas

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