Bloqueio de configuração de periféricos

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

Durante o arranque do sistema, o runtime do Azure Sphere lê o manifesto da aplicação para determinar quais os periféricos que uma aplicação tem permissão para utilizar e atribui os periféricos a um núcleo ao configurar a firewall de hardware. Quando a configuração do periférico não está bloqueada, poderá ser possível que um atacante reconfigure as atribuições principais dos periféricos e aceda a periféricos arbitrários. No entanto, quando a configuração do periférico está bloqueada, um atacante não pode reatribuir periféricos, mesmo que o código esteja comprometido.

Quando a configuração do periférico está bloqueada

O runtime do Azure Sphere bloqueia a configuração do periférico durante o arranque do sistema, depois de todas as aplicações serem inicializadas, se as duas condições seguintes forem verdadeiras:

O bloqueio da configuração de periféricos adiciona outra camada de segurança para a defesa em profundidade, que é uma das sete propriedades necessárias para dispositivos altamente seguros. Assim que a configuração do periférico estiver bloqueada, não poderá ser revista até que o dispositivo seja reiniciado.

Atualizações de aplicações e reinício do dispositivo

Uma atualização de aplicação que requer uma alteração na configuração do periférico aciona um reinício do dispositivo quando a configuração do periférico está bloqueada. Assim que a configuração estiver bloqueada, o dispositivo tem de reiniciar antes de poder rever a configuração do periférico em conformidade para a atualização da aplicação.

Uma alteração na configuração de periféricos ocorre quando uma atualização da aplicação requer que os periféricos sejam libertados ou adquiridos. Seguem-se exemplos de atualizações de aplicações que acionam um reinício do dispositivo quando a configuração do periférico está bloqueada:

  • Uma nova aplicação que utiliza periféricos é instalada como parte de uma atualização da cloud ou sideload. Neste caso, tem de ser adquirido um novo núcleo e periféricos.
  • Uma aplicação atualizada requer um conjunto diferente de periféricos da versão anterior. Neste caso, alguns periféricos têm de ser libertados e outros periféricos têm de ser adquiridos.
  • Uma aplicação que utiliza periféricos é eliminada como parte de uma atualização da cloud. Neste caso, todos os periféricos utilizados pela aplicação têm de ser libertados.

Seguem-se exemplos de atualizações de aplicações que não acionam um reinício do dispositivo porque a configuração do periférico permanece inalterada:

  • Uma nova aplicação que não utiliza periféricos é instalada como parte de uma atualização da cloud ou sideload.
  • Uma aplicação que não utiliza periféricos é eliminada como parte de uma atualização da cloud.
  • Uma aplicação atualizada requer o conjunto exato de periféricos utilizados pela versão anterior.