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), e não de um invasor ou corrupção. Ele estabelece uma cadeia completa de confiança, começando com uma raiz de confiança protegida por hardware até o bootloader, até a partição de inicialização e outras partições verificadas, incluindo system
, vendor
e, opcionalmente, partições oem
. Durante a inicialização do dispositivo, cada estágio verifica a integridade e a 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, o Verified Boot 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, o Verified Boot também permite que 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.
Enquanto 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 evitar a inicialização de dispositivos comprometidos. O Android 7.0 também adicionou suporte para correção direta 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, o AVB padronizou o formato de rodapé de partição e adicionou recursos de proteção contra reversão.