Mishaal Rahman / Autoridade Android
DR
- O Android 15 impede que aplicativos não confiáveis leiam notificações confidenciais, mesmo que tenham permissão para ler todas as notificações.
- Antes do Android 15, os aplicativos com acesso a notificações podiam ler todas as notificações recebidas, mesmo aquelas com códigos OTP.
- Agora, porém, apenas alguns aplicativos confiáveis podem ler códigos OTP de notificações.
O painel de notificações do seu telefone é um tesouro de dados confidenciais, pois inclui não apenas mensagens pessoais, mas também códigos de segurança enviados de serviços online para os quais você ativou a autenticação de dois fatores. É por isso que muitos aplicativos maliciosos tentam induzi-lo a conceder acesso a notificações para que possam roubar esses códigos de autenticação de dois fatores. Felizmente, a atualização do Android 15 torna mais difícil para aplicativos maliciosos extrair códigos de autenticação de dois fatores das notificações.
O Android oferece há muito tempo uma API chamada Notification Listener, que permite que aplicativos de terceiros acessem suas notificações. Como as notificações podem conter dados confidenciais, os aplicativos não podem usar a API Notification Listener, a menos que obtenham sua permissão. Você deve conceder manualmente ao aplicativo acesso às suas notificações por meio do aplicativo Configurações, e a única coisa que os aplicativos podem fazer para ajudar nesse processo é abrir a página Configurações onde você pode conceder acesso.
Mishaal Rahman / Autoridade Android
Depois que um aplicativo recebe acesso a notificações, ele pode ler, responder, descartar ou controlar todas as notificações do seu telefone ou o subconjunto de notificações às quais você concedeu acesso. Não importa se essa notificação inclui algo realmente sensível, como um código de autenticação de dois fatores – com a API Notification Listener, os aplicativos podem lê-los e, assim, extraí-los.
O Android 15 muda as coisas ao designar notificações com códigos de autenticação de dois fatores como “sensíveis” e permitir apenas que serviços “confiáveis” do Notification Listener as leiam. Qualquer serviço Notification Listener “não confiável” que tente ler notificações com códigos de autenticação de dois fatores simplesmente receberá uma mensagem informando “conteúdo de notificação confidencial oculto”.
Aqui está um pequeno vídeo que demonstra como essa mudança afeta os ouvintes de notificação no Android 14 versus Android 15. Neste vídeo, você pode ver que um aplicativo ao qual concedi acesso a notificações em um dispositivo com Android 14 pode ler notificações com autenticação de dois fatores códigos neles. Por outro lado, o mesmo aplicativo com a mesma permissão em um dispositivo com Android 15 não pode ler notificações com códigos de autenticação de dois fatores.
Nos bastidores, o aplicativo Android System Intelligence (ASI) processa todas as notificações antes de serem enviadas aos serviços do Notification Listener. Se o ASI detectar que uma notificação contém um código de autenticação de dois fatores, ele dirá ao sistema para marcá-la como “confidencial” e impedir que ela seja enviada para serviços “não confiáveis” do Notification Listener. Os serviços de ouvinte de notificação “não confiáveis” pertencem a aplicativos que não possuem o novo RECEIVE_SENSITIVE_NOTIFICATIONS
permissão que o Google adicionou no Android 15.
Essa permissão só pode ser concedida a aplicativos assinados com o certificado do sistema ou a aplicativos que detêm determinadas funções. A maioria das funções que são concedidas ao RECEIVE_SENSITIVE_NOTIFICATIONS
a permissão só pode ser mantida por aplicativos do sistema, mas há algumas que também podem ser mantidas por aplicativos de terceiros, como COMPANION_DEVICE_WATCH
, COMPANION_DEVICE_GLASSES
e HOME
. Respectivamente, essas funções são atribuídas aos aplicativos complementares de exibição, aos aplicativos complementares de óculos inteligentes e ao inicializador padrão. Em outras palavras, os únicos aplicativos de terceiros que podem ler notificações com códigos de autenticação de dois fatores no Android 15 são aplicativos que se conectam ao seu smartwatch, aplicativos que se conectam aos seus óculos inteligentes ou ao aplicativo inicializador da tela inicial padrão.
Exemplo de caixa de diálogo para um aplicativo que solicita manter a função COMPANION_DEVICE_WATCH.
Impedir que aplicativos de terceiros leiam notificações com códigos de autenticação de dois fatores impedirá algumas tentativas de hacking, mas também interromperá algumas ferramentas de automação e conveniência, como “Copiar código SMS”, o aplicativo gratuito e de código aberto que usei para demonstrar essas mudanças. Existe uma solução fácil para restaurar o comportamento antigo, mas não é algo que eu recomendo. Envolve desligar “Notificações aprimoradas” sob Configurações > Notificações. Isso impede que o ASI analise notificações e marque aquelas com códigos de autenticação de dois fatores como “sensíveis”, mas também impede que gere ações ou respostas sugeridas. Outra solução alternativa requer a configuração e o uso do ADB para conceder manualmente o RECEIVE_SENSITIVE_NOTIFICATIONS
permissão usando o seguinte comando:
Código
adb shell cmd appops set --user 0 <PACKAGE> RECEIVE_SENSITIVE_NOTIFICATIONS allow
Aqui, <PACKAGE>
é o nome do pacote do aplicativo ao qual você deseja conceder permissão. Você só deve fazer isso se for um usuário avançado e houver alguma ferramenta que essa alteração quebrará.
É ótimo ver o Android fazer pequenos ajustes como esse que melhoram a segurança, mas seria bom se o Google documentasse essa mudança em algum lugar, especialmente porque ela afeta o comportamento do aplicativo. Também seria bom se o Android bloqueasse seletivamente a exibição de notificações confidenciais na tela de bloqueio, algo que o Google estava testando quando relatei pela primeira vez sobre essa mudança em fevereiro – talvez essa chegue em uma atualização futura do Android.