1 pontos por GN⁺ 2026-04-23 | 1 comentários | Compartilhar no WhatsApp
  • Mensagens apagadas ou autodestrutivas em apps de mensagens podiam permanecer no cache de notificações e ser lidas por ferramentas forenses, e a Apple corrigiu isso com uma atualização de software para iPhone e iPad
  • Notificações que exibiam o conteúdo das mensagens podiam ficar armazenadas no dispositivo por até um mês, e o aviso de segurança da Apple diz que notificações marcadas para exclusão podiam ser mantidas inesperadamente
  • Esse caminho de extração está ligado à forma como mensagens do Signal apagadas permaneciam no banco de dados do telefone, permitindo que as autoridades lessem até mensagens apagadas há muito tempo
  • Após a divulgação do problema, o Signal pediu à Apple uma correção, e o recurso de temporizador de autoexclusão pode ajudar usuários que querem manter conversas em sigilo mesmo em casos de apreensão do aparelho
  • Apagar mensagens apenas dentro do app talvez não removesse o mesmo conteúdo do armazenamento de notificações no nível do sistema operacional, e esta correção mostra que a camada do SO também é importante para proteger a privacidade de mensagens autodestrutivas

Correção do bug e impacto

  • A Apple distribuiu uma atualização de software para iPhone e iPad que corrige um bug que permitia às autoridades extrair mensagens apagadas ou autodestrutivas de apps de mensagens
    • O problema ocorria porque notificações (notification) que exibiam o conteúdo das mensagens ficavam em cache no dispositivo por até um mês
  • O aviso de segurança da Apple diz que notificações marcadas para exclusão podiam ser mantidas inesperadamente no dispositivo
  • Não está claro por que o conteúdo das notificações era registrado desde o início
    • Esta correção revela que esse comportamento era um bug
  • A Apple não respondeu de imediato a perguntas sobre por que as notificações eram preservadas
  • A Apple também fez backport da correção para iPhones e iPads que executam versões mais antigas do iOS 18

O caminho de extração revelado

  • Esta correção está diretamente ligada ao problema revelado no início deste mês pela 404 Media
    • O FBI conseguia extrair mensagens do Signal apagadas do iPhone de alguém usando ferramentas forenses
  • A extração era possível porque o conteúdo das mensagens havia sido exibido antes como notificação e continuava armazenado no banco de dados do telefone mesmo depois de as mensagens serem apagadas dentro do Signal
  • Ao usar ferramentas forenses, as autoridades conseguiam ler até mensagens apagadas há muito tempo

Signal e o recurso de apagar mensagens

  • Meredith Whittaker, do Signal, afirmou que pediu à Apple uma correção depois que o problema foi divulgado
    • Ela escreveu que notificações sobre mensagens apagadas não deveriam permanecer no banco de dados de notificações de nenhum sistema operacional
  • O Signal, assim como o WhatsApp e outros apps de mensagens, oferece um recurso de temporizador que apaga mensagens automaticamente depois de certo tempo
  • Esse recurso pode ajudar usuários que desejam manter conversas em sigilo mesmo quando autoridades apreendem o dispositivo

Preocupações com privacidade

  • A revelação de que o FBI encontrou um caminho para contornar um recurso de segurança usado no dia a dia aumentou o alerta entre ativistas da privacidade
  • O recurso de mensagens autodestrutivas é, em especial, uma medida de segurança usada rotineiramente por usuários em situação de risco
  • Este bug mostrou que, mesmo apagando mensagens dentro do app, o mesmo conteúdo podia continuar no armazenamento de notificações no nível do sistema operacional

1 comentários

 
GN⁺ 2026-04-23
Comentários do Hacker News
  • Acho que isso era um bug em que o cache permanecia no aparelho. Ainda assim, o fato de Apple e Google ficarem no meio da maior parte do fluxo de notificações continua preocupante, porque a própria estrutura faz o conteúdo passar pelos servidores. Então, se você quiser expor menos mensagens com criptografia de ponta a ponta, acho que o ideal é configurar as notificações para mostrar algo como nova mensagem recebida e ocultar conteúdo e remetente
    • Acho que essa explicação está errada em dois pontos. Primeiro, este caso foi um problema do OS registrar e armazenar notificações localmente no aparelho, não um problema dos servidores de notificação da Google ou da Apple. Segundo, mesmo que a notificação passe pelos servidores da Apple ou da Google, ainda dá para manter E2EE criptografando os dados em si ou removendo o corpo da mensagem. O Signal de fato funciona assim, então Apple e Google não veem a mensagem em texto puro
    • Na minha visão, tanto a Apple quanto a Google oferecem recursos para que o app intercepte e modifique a mensagem antes de ela ser exibida. Então bastaria enviar uma notificação criptografada e descriptografá-la no aparelho do usuário com o código do app antes de mostrar
    • Acho que isso está certo. O servidor só enviaria a notificação, e a exibição real poderia ser montada localmente no aparelho, depois do desbloqueio, combinando com a mensagem já lida. Não parece necessário mandar texto puro para os servidores da Apple ou da Google
    • Pelo FAQ do Matrix que li recentemente, essa explicação não está correta. Nos apps Matrix, só parte dos metadados vai do servidor de chat ao servidor de push e então pela Google até o meu aparelho, enquanto o corpo da mensagem permanece em E2EE. O app desperta com a notificação de metadados, busca a mensagem real de novo e então a mostra na notificação. Como apontado no último comentário, até isso ser corrigido no Android, o problema de armazenamento local continua existindo
    • Nesse caso, porém, nós realmente usamos a API de notificações do OS da Google e da Apple entregando a mensagem em texto puro
  • Acho que o bug mencionado na matéria é só parte do problema. O ponto central é que o texto da notificação fica armazenado em um banco de dados do telefone fora do Signal, e para evitar isso é preciso mudar as configurações. Neste caso, o réu apagou o próprio app Signal e, em condições normais, as notificações desse app também deveriam ter sido marcadas internamente como removidas, mas isso não aconteceu, o que parece ser a correção feita agora. O essencial do que foi divulgado é que notificações marcadas para exclusão podiam permanecer no aparelho de forma inesperada e, pela descrição, como se tratava de um logging issue, talvez tenham ficado em logs e não necessariamente no banco principal
    • Pelo que vi, a ideia era de que isso atingia não só logs, mas também logs, json, plist e SQLite DB. Em /private/var/mobile/Library/Biome/streams/.../Notification/segments/ do Biome haveria logs brutos de título e corpo; em /var/mobile/Library/{BulletinBoard,UserNotificationsCore}/ do BulletinBoard e do UserNotificationsCore haveria json e plist com estados de entrega e encerramento; e no /var/mobile/Library/CoreDuet/coreduetdClassD.db do CoreDuet haveria um SQLite que reinsere eventos do Biome. A fonte é este tweet
    • Acho que essa interpretação ainda é especulativa. Dizer que estava marcado para exclusão pode significar não só depois de apagar o app inteiro, mas também depois que o usuário fechou a notificação
    • A possibilidade de SQLite WAL foi a primeira coisa que me veio à cabeça
    • Para mim, os dois podem ser praticamente o mesmo problema. Fico curioso por que você os vê como separados
  • Acho que o modo de notificação genérico que o Signal oferece, algo como “mensagem recebida”, é um bom hábito de segurança no geral
    • Na verdade, isso é possível em quase todo app. Basta mudar a opção notifications shows previews para never nas configurações do iOS
  • Acho bem frustrante que o Signal não esteja comunicando esse problema aos usuários de forma mais ativa. Eu deixei as notificações desligadas e, mesmo assim, o Signal só continuou me lembrando para ativá-las de novo
  • Isso me faz repensar se, no caso do Mythos, a maior preocupação é a descoberta da vulnerabilidade ou a correção da vulnerabilidade
  • No começo eu também fiquei um pouco confuso. Eu achava que as notificações push eram criptografadas de ponta a ponta, então o serviço de push não poderia armazená-las em uma forma legível e que o app as descriptografaria depois de recebê-las no aparelho. Mas, na prática, parece que o app descriptografa, mostra ao usuário via API do OS e, depois disso, esse texto da notificação acaba sendo armazenado de novo em algum tipo de banco de histórico de notificações local do aparelho
    • Eu também entendi como algo mais ou menos desse tipo
    • Pelo que vejo, na arquitetura de push da Apple e da Google uma parte considerável dos metadados fica em texto puro
  • Acho que, do lado da privacidade, esse problema já era relativamente conhecido. Apple e Google às vezes enviam o conteúdo das notificações para seus próprios servidores, o que acaba contornando os limites do app. Como explicação de uma categoria parecida, vale ver este texto
    • Eu imaginaria que o Signal pré-criptografa os dados da notificação antes de enviá-los para a Apple e, no aparelho, descriptografa com uma Notification Service Extension. Esse é um padrão comum quando não se quer confiar na Apple, então, no fim, o texto puro teria sido armazenado depois da descriptografia no aparelho, não pela Apple
    • Pelo que entendi deste caso reportado, o conteúdo não foi obtido do servidor, e sim diretamente do telefone por agentes federais
    • Isso também me faz pensar em mensageiros como Snapchat e WhatsApp. O WhatsApp fala em end-to-end, mas também há alegações de que entrega cópias de algumas mensagens às autoridades com base em palavras-chave, então a preocupação parece semelhante em categoria
  • O app não consegue instruir o iOS a não reter essa notificação depois de exibi-la, então o payload acaba sendo apenas armazenado em cache. No fim, é o problema clássico de “apagado não quer dizer realmente apagado”, e os dados ficam em mais lugares do que se imagina. Nesse sentido, parece um caso bem ilustrativo levantado pelo Signal
  • Ainda bem que a Apple fez backport dessa correção também para o iOS 18
    • E mais: o iOS 18.7.8 aparentemente está sendo distribuído sem nenhuma limitação especial até para aparelhos capazes de rodar iOS 26, o que é interessante. Já entre 18.7.3 e .6 isso não acontecia, então fico me perguntando se aquelas versões intermediárias deveriam mesmo ter saído e houve algum problema de distribuição que ninguém corrigiu
  • Eu sou do tipo que jamais vai confiar em um sistema fechado para mensagens seguras. Especialmente quando se comunica com muitos interlocutores indeterminados, isso me parece ainda mais importante
    • Ainda assim, o iOS provavelmente é a plataforma móvel mais segura para mensageria segura. Especialmente no lock down mode, isso parece ainda mais verdadeiro