Compartilhar via


Bloqueio de configuração periférico

Uma configuração periférica é um mapeamento de periféricos para núcleos. Os chips do Azure Sphere agora têm a capacidade de bloquear uma configuração periférica para fornecer segurança adicional. Todos os futuros chips do Azure Sphere também terão bloqueio de configuração periférico.

Durante a inicialização do sistema, o runtime do Azure Sphere lê o manifesto do aplicativo para verificar quais periféricos um aplicativo pode usar e atribui os periféricos a um núcleo configurando o firewall de hardware. Quando a configuração periférica não estiver bloqueada, talvez seja possível que um invasor reconfigure as atribuições principais dos periféricos e acesse periféricos arbitrários. No entanto, quando a configuração periférica é bloqueada, um invasor não pode reatribuir periféricos mesmo que o código esteja comprometido.

Quando a configuração periférica é bloqueada

O runtime do Azure Sphere bloqueia a configuração periférica durante a inicialização do sistema, depois que todos os aplicativos forem inicializados, se as duas condições a seguir forem verdadeiras:

O bloqueio de configuração periférico adiciona outra camada de segurança para defesa em profundidade, que é uma das sete propriedades necessárias para dispositivos altamente protegidos. Depois que a configuração periférica estiver bloqueada, ela não poderá ser revisada até que o dispositivo seja reiniciado.

Atualizações de aplicativo e reinicialização do dispositivo

Uma atualização de aplicativo que requer uma alteração na configuração periférica dispara uma reinicialização do dispositivo quando a configuração periférica é bloqueada. Depois que a configuração estiver bloqueada, o dispositivo deve ser reiniciado antes de poder revisar a configuração periférica de acordo com a atualização do aplicativo.

Uma alteração na configuração periférica ocorre quando uma atualização do aplicativo exige que os periféricos sejam liberados ou adquiridos. Veja a seguir exemplos de atualizações de aplicativo que disparam uma reinicialização do dispositivo quando a configuração periférica é bloqueada:

  • Um novo aplicativo que usa periféricos é instalado como parte de uma atualização de nuvem ou sideload. Nesse caso, um novo núcleo e periféricos devem ser adquiridos.
  • Um aplicativo atualizado requer um conjunto diferente de periféricos de sua versão anterior. Nesse caso, alguns periféricos devem ser liberados e outros periféricos devem ser adquiridos.
  • Um aplicativo que usa periféricos é excluído como parte de uma atualização de nuvem. Nesse caso, todos os periféricos usados pelo aplicativo devem ser liberados.

Veja a seguir exemplos de atualizações de aplicativo que não disparam uma reinicialização do dispositivo porque a configuração periférica permanece inalterada:

  • Um novo aplicativo que não usa periféricos é instalado como parte de uma atualização de nuvem ou sideload.
  • Um aplicativo que não usa periféricos é excluído como parte de uma atualização de nuvem.
  • Um aplicativo atualizado requer o conjunto exato de periféricos usados pela versão anterior.