Inicialização verificada

A inicialização verificada se esforça para garantir que todo o código executado venha de uma fonte confiável (geralmente OEMs de dispositivos), em vez de um invasor ou corrupção. Ele estabelece uma cadeia completa de confiança, começando de uma raiz de confiança protegida por hardware para o gerenciador de inicialização, para a partição de inicialização e outras partições verificadas, incluindo partições system , vendor e, opcionalmente, oem . Durante a inicialização do dispositivo, cada estágio verifica a integridade e autenticidade do próximo estágio antes de entregar a execução.

Além de garantir que os dispositivos estejam executando uma versão segura do Android, a inicialização verificada verifica a versão correta do Android com proteção contra reversão . A proteção contra reversão ajuda a evitar que uma possível exploração se torne persistente, garantindo que os dispositivos sejam atualizados apenas para versões mais recentes do Android.

Além de verificar o sistema operacional, a inicialização verificada também permite que os dispositivos Android comuniquem seu estado de integridade ao usuário.

Fundo

O Android 4.4 adicionou suporte para inicialização verificada e o recurso de kernel dm-verity . Essa combinação de recursos de verificação serviu como Inicialização Verificada 1.

Onde as versões anteriores do Android alertavam os usuários sobre a corrupção do dispositivo, mas ainda permitiam que eles inicializassem seus dispositivos, o Android 7.0 começou a aplicar estritamente a inicialização verificada para impedir a inicialização de dispositivos comprometidos. O Android 7.0 também adicionou suporte para correção antecipada de erros para melhorar a confiabilidade contra corrupção de dados não maliciosos.

O Android 8.0 e superior inclui o Android Verified Boot (AVB), uma implementação de referência do Verified Boot que funciona com o Project Treble. Além de trabalhar com Treble, formato de rodapé de partição padronizado AVB e recursos adicionais de proteção de reversão.