Segundo o projeto GrapheneOS, a reinicialização automática pode melhorar a segurança do Android contra a exploração de falhas de firmware.
A equipe do GrapheneOS por trás do sistema operacional baseado em privacidade e segurança baseado em Android com o mesmo nome está sugerindo que o Android deveria introduzir um recurso de reinicialização automática para dificultar a exploração de falhas de firmware.
Reinicialização automática pode melhorar a segurança do Android
O projeto revelou que relatou recentemente vulnerabilidades de firmware que afetam dispositivos Android, como os telefones Google Pixel e Samsung Galaxy, que podem ser exploradas para roubar dados e espionar usuários quando o dispositivo não está em repouso.
Quando um dispositivo está “em repouso”, significa que ele está desligado ou não foi desbloqueado após a inicialização.
Nesse estado, as proteções de privacidade são muito altas e o dispositivo móvel não está totalmente funcional porque as chaves de criptografia ainda não estão disponíveis para uso pelos aplicativos instalados.
O primeiro desbloqueio após uma reinicialização faz com que várias chaves criptográficas sejam movidas para a memória de acesso rápido para que os aplicativos instalados funcionem corretamente e o dispositivo mude para um estado “não em repouso”.
A equipe do GrapheneOS destaca que bloquear a tela após usar o dispositivo não o coloca de volta no estado “em repouso” porque algumas isenções de segurança persistem.
A reinicialização do dispositivo encerra todos os estados, processos ou atividades temporários que poderiam ser explorados e requer autenticação como PIN, senha ou verificação biométrica para desbloquear, reativando assim todos os mecanismos de segurança.
Embora os desenvolvedores do GrapheneOS não tenham compartilhado muitos detalhes sobre os bugs de firmware explorados, eles propuseram uma mitigação genérica que funcionaria bem na maioria dos casos: um recurso de reinicialização automática que já está presente em seu sistema operacional.
A ideia é minimizar a janela de oportunidade para invasores e interromper os comprometimentos existentes, redefinindo todos os sistemas de proteção do dispositivo com mais frequência do que um usuário faria.
O sistema de reinicialização automática do GrapheneOS redefine o dispositivo a cada 72 horas, mas, como comenta o fabricante do sistema operacional, esse é um período muito longo e eles planejam reduzi-lo.
O GrapheneOS também observa que os modos de voo em smartphones que as pessoas assumem que reduzem a superfície de ataque muitas vezes ainda permitem a troca de dados via Wi-Fi, Bluetooth, NFC e USB Ethernet, portanto, dependendo do vetor de ataque, pode não ser uma medida de proteção eficaz.
Os desenvolvedores abordam o tópico segurança de PIN/senha e sua relação com os sistemas de criptografia e segurança do dispositivo, já que esses métodos de autenticação são usados como chaves para criptografar os dados do dispositivo.
A otimização de elementos seguros é vital para proteger PINs curtos e senhas contra força bruta furtiva que pode desbloquear não apenas a tela, mas também o enclave seguro no chip do dispositivo.
O site BleepingComputer entrou em contato com a equipe GrapheneOS e o Google para saber mais sobre as vulnerabilidades descobertas, seu impacto e casos de exploração observados. O GrapheneOS não respondeu, mas o Google forneceu a seguinte declaração:
“GrapheneOS é um sistema operacional móvel de terceiros baseado no Android Open Source Project. GrapheneOS relatou esses problemas ao nosso Programa de Recompensa de Vulnerabilidade do Android (VRP) em 2 de janeiro. Estamos no processo de revisar e determinar as próximas etapas” – Google
Reiniciar frequentemente o seu dispositivo Android ou iOS tem sido apontado como uma boa ideia para corrigir problemas como aquecimento, memória ou até mesmo sinal de chamada, mas também.
Do ponto de vista da segurança, esta ação pode proteger contra recuperação ilegal de dados ou ameaças móveis que não possuem mecanismos de persistência eficazes.
Um porta-voz do GrapheneOS entrou em contato para esclarecer alguns pontos. O porta-voz disse ao site BleepingComputer que o GrapheneOS lançou uma atualização para o sistema de reinicialização automática no dia 14 de janeiro de 2024.
A equipe reprojetou a implementação da função de reinicialização automática, movendo-a do system_server para o processo init para aumentar a robustez.
O cronômetro de reinicialização automática desde o último desbloqueio (não desde a última inicialização) foi reduzido para 18 horas (de 72 horas).
O porta-voz explicou ainda que, embora não seja possível corrigir diretamente bugs de firmware devido a limitações de hardware, o GrapheneOS propôs o apagamento da memória do firmware nas reinicializações e sugere melhorias na API de administração do dispositivo para limpezas mais seguras do dispositivo.