A Proton corrigiu um bug em seu novo aplicativo Authenticator para iOS que registrava os segredos sensíveis TOTP em plaintext, expondo potencialmente códigos de autenticação de múltiplos fatores se os logs fossem compartilhados.
Na última semana, a Proton lançou um novo aplicativo Proton Authenticator, que é uma aplicação standalone gratuita para autenticação de dois fatores (2FA) para Windows, macOS, Linux, Android e iOS.
O aplicativo é utilizado para armazenar segredos de autenticação de múltiplos fatores TOTP que podem ser usados para gerar códigos de passagem únicos para autenticação em websites e aplicativos.
Durante o fim de semana, um usuário postou em um post agora deletado no Reddit que a versão iOS estava expondo segredos TOTP nos logs de debug do aplicativo encontrados em Configurações > Logs.
"Importei minhas contas 2FA, habilitei backup e sincronização, tudo parecia bom no início.
Em algum momento, depois que eu mudei o rótulo em uma das minhas entradas e troquei de aplicativo brevemente," lê-se em um arquivo do post.
"Quando voltei, percebi que cerca de metade das minhas entradas de 2FA haviam desaparecido.
Acho que pode ter acontecido depois da edição do rótulo, mas não tenho 100% de certeza.
Pode ter sido algo mais.
De qualquer forma, elas desapareceram sem qualquer erro ou aviso."
"Eu queria fazer a coisa certa e enviar um relatório de bug. Enquanto o preparava, abri o arquivo de log que o aplicativo gera, e foi aí que passou de levemente irritante para profundamente preocupante.
Acontece que o log contém segredos TOTP completos em plaintext.
Sim, incluindo o da minha conta Bitwarden."
Outro comentarista notou que o vazamento vem de um código no aplicativo iOS [1, 2] que adiciona muitos dados sobre uma entrada TOTP a uma variável de parâmetros, que é então passada para duas funções usadas para adicionar ou atualizar um segredo TOTP no aplicativo.
Quando isso é feito, as funções também adicionam esses dados a uma entrada de log, que expõe o segredo TOTP.
A Proton confirmou o bug na versão iOS, afirmando que agora foi corrigido na versão 1.1.1, lançada na App Store aproximadamente 7 horas atrás.
"Os segredos nunca são transmitidos ao servidor em plaintext, e toda a sincronização de segredos é feita com criptografia de ponta a ponta.
Os logs são apenas locais (nunca enviados ao servidor), e esses segredos também podem ser exportados no seu dispositivo para atender aos requisitos de portabilidade de dados do GDPR", informou a Proton ao site BleepingComputer.
Em outras palavras, mesmo que isso não estivesse nos logs, alguém que tenha acesso ao seu dispositivo para obter esses logs, ainda seria capaz de obter os segredos.
A criptografia da Proton não pode proteger contra comprometimento do lado do dispositivo, então você deve sempre proteger seu dispositivo, pois isso está fora do nosso modelo de ameaça.
"Atualizamos o aplicativo iOS para mudar o comportamento de log, mas não é uma vulnerabilidade que pode ser explorada por um atacante, e se o atacante tem acesso ao seu dispositivo para acessar os logs locais, eles de qualquer forma seriam capazes de obter os segredos, e não há nada que a Proton (ou qualquer aplicativo 2FA) possa fazer para prevenir isso."
Embora esses dados de log não possam ser explorados remotamente, a preocupação era que se os logs fossem compartilhados ou postados em algum lugar para ajudar a diagnosticar um problema ou bug, isso também exporia o segredo TOTP sensível a uma terceira parte.
Esses segredos poderiam então ser importados para outro Authenticator para gerar códigos de passagem únicos para aquela conta.
Publicidade
Tenha acesso aos melhores hackers éticos do mercado através de um serviço personalizado, especializado e adaptado para o seu negócio. Qualidade, confiança e especialidade em segurança ofensiva de quem já protegeu centenas de empresas. Saiba mais...