Não tem como negar a conveniência dos serviços de armazenamento de arquivos na nuvem, como Dropbox ou OneDrive. A única desvantagem é que os cibercriminosos, agências de inteligência ou o próprio provedor de hospedagem podem visualizar seus arquivos baseados na nuvem sem autorização. Mas há uma alternativa mais segura: o armazenamento criptografado de arquivos na nuvem. Alguns chamam isso de criptografia de ponta a ponta (E2EE) – semelhante ao Signal e ao WhatsApp. De acordo com o que é divulgado pelo marketing, os arquivos são criptografados no seu dispositivo e enviados para a nuvem já num formato seguro. A chave de criptografia permanece sob sua posse e mais ninguém tem acesso. Nem mesmo o provedor pode espiar essa informação. Mas será que é assim mesmo?
Criptografia de queijo suíço
O Grupo de Criptografia Aplicada da ETH Zurich na Suíça desmontou os algoritmos de cinco serviços populares de armazenamento criptografado: Sync.com, pCloud, Icedrive, Seafile e Tresorit. Em cada um deles, os pesquisadores encontraram erros na implementação da criptografia, permitindo, em graus variados, a manipulação de arquivos e até o acesso a fragmentos de dados não criptografados. Eles já haviam descoberto falhas em dois outros serviços de hospedagem populares: MEGA e Nextcloud.
Em todos esses casos, os ataques foram executados a partir de um servidor malicioso. O cenário é o seguinte: intrusos hackeiam os servidores de hospedagem criptografados ou, manipulando roteadores no caminho cliente-servidor, forçam o computador da vítima a se conectar a outro servidor que imita o servidor de hospedagem criptografado genuíno. Se esta manobra complicada der certo, os criminosos podem teoricamente:
- No caso do com, plantar pastas e arquivos com informações incriminatórias e alterar os nomes dos arquivos e os metadados das informações armazenadas. Além disso, o servidor invadido pode enviar novas chaves de criptografia ao cliente e, em seguida, descriptografar todos os arquivos baixados posteriormente. Além disso, a função de compartilhamento integrada permite que o servidor malicioso descriptografe qualquer arquivo compartilhado pela vítima, pois a chave de descriptografia está contida no link enviado quando o servidor é acessado.
- No caso do pCloud, plantar arquivos e pastas, mover arquivos arbitrariamente, trocar nomes de arquivo, excluir fragmentos de arquivo e descriptografar arquivos baixados após o hackeamento.
- No caso do Seafile, forçar o cliente a usar uma versão mais antiga do protocolo, facilitando o uso de senhas de força bruta, trocar ou excluir fragmentos de arquivo, plantar arquivos e pastas e modificar metadados de arquivo.
- No caso do Icedrive, plantar arquivos com fragmentos de outros arquivos já carregados na nuvem, alterar o nome e a localização dos arquivos armazenados e reordenar os fragmentos de arquivos.
- No caso do Tresorit, manipular os metadados de arquivos armazenados, incluindo dados de autoria.
- No caso do Nextcloud, manipular chaves de criptografia, permitindo a descriptografia de arquivos baixados.
- No caso do MEGA, restaurar as chaves de criptografia e, assim, descriptografar todos os arquivos. Também é possível plantar arquivos incriminatórios.
O servidor malicioso em cada caso é um componente difícil de implementar, mas não o mais impossível do ataque. Diante dos ataques cibernéticos à Microsoft e ao Twilio, a possibilidade de comprometer um fornecedor importante é real. E, claro, o E2EE, por definição, precisa ser resistente a ações maliciosas no servidor.
Sem entrar em detalhes técnicos, notamos que os desenvolvedores de todos os serviços parecem ter implementado E2EE genuíno e usado algoritmos fortes e reconhecidos, como AES e RSA. Mas a criptografia de arquivos cria muitas dificuldades técnicas quando se trata de colaboração e coautoria de documentos. As tarefas necessárias para superar essas dificuldades e levar em consideração todos os ataques possíveis envolvendo chaves de criptografia modificadas permanecem sem solução. Apesar disso, o Tresorit fez um trabalho muito melhor do que qualquer outro.
Os pesquisadores apontam que os desenvolvedores dos vários serviços cometeram erros muito semelhantes de maneira geral. Isso significa que a implementação do armazenamento em nuvem criptografado está repleta de nuances criptográficas que não são tão simples. O que é necessário é um protocolo bem desenvolvido completamente testado pela comunidade criptográfica, como o TLS para sites ou o Protocolo do Signal para mensagens instantâneas.
Correções onerosas
O maior problema com a correção dos bugs identificados é além dos aplicativos e do software do servidor precisarem ser atualizados, em muitos casos, os arquivos salvos pelo usuário precisam ser criptografados novamente. Nem todo provedor de hospedagem pode arcar com esses enormes gastos computacionais. Além disso, a recriptografia só é possível em cooperação com cada usuário individualmente, e não pode ser feita unilateralmente. Provavelmente, é por isso que as correções demoram a chegar:
- O com respondeu aos pesquisadores após seis meses e somente após o relatório sair na imprensa. Depois de ter finalmente acordado, eles anunciaram uma correção para o problema de vazamento de chaves ao compartilhar links e disseram que também corrigiriam as outras falhas, mas sem fornecer um prazo.
- A Tresorit prometeu corrigir o problema em 2025 (mas o problema é menos grave para eles).
- A Seafile corrigiu o problema do downgrade da versão do protocolo sem comentar sobre as outras falhas.
- A Icedrive decidiu não resolver os problemas identificados.
- A pCloud não respondeu aos pesquisadores até a divulgação dos relatórios para a imprensa, e anunciou que os ataques são teóricos e não requerem ação imediata.
- A Nextcloud corrigiu o problema e reformulou principalmente a abordagem geral do E2EE na versão 3.12. O esquema de criptografia atualizado ainda precisa ser pesquisado.
- A MEGA reduziu significativamente a probabilidade de um ataque ao introduzir verificações no lado do cliente.
O que os usuários precisam fazer
Embora os problemas identificados pelo Applied Cryptography Group não possam ser considerados puramente teóricos, não representam uma ameaça em massa prontamente explorável por cibercriminosos. Portanto, uma ação precipitada não é necessária. Em vez disso, é necessária uma avaliação sensata da sua situação:
- Qual o nível de confidencialidade dos seus dados no armazenamento e seu nivel de atratividade para pessoas externas?
- Quantos dados você armazena no serviço criptografado? É fácil migrar para outro?
- Qual a importância dos recursos de colaboração e compartilhamento de arquivos para você?
Se a colaboração não for importante, embora os dados armazenados sejam críticos, a melhor opção é alternar para a criptografia de arquivo local. Você pode fazer isso de várias maneiras, por exemplo, armazenando dados em um arquivo contêiner criptografado ou em um arquivo compactado com uma senha forte. Se você precisar transferir dados para outro dispositivo, poderá carregar um arquivo já criptografado para o serviço de hospedagem na nuvem.
Se você quiser combinar colaboração e conveniência com garantias de segurança adequadas, e a quantidade de dados armazenados não for tão grande, vale a pena migrar os dados para um dos serviços que melhor resistiram aos testes da ETH Zurich. Isso significa o Tresorit em primeiro lugar, mas não desconsidere o MEGA e o Nextcloud.
Se nenhuma dessas soluções for adequada para o seu caso, você pode optar por outros serviços de hospedagem criptografados, mas com precauções adicionais: evite armazenar dados altamente confidenciais, atualize aplicativos de serviço imediatamente, verifique regularmente suas unidades na nuvem e exclua informações desatualizadas ou irrelevantes.
De qualquer forma, lembre-se de que o ataque mais provável aos seus dados assumirá a forma de um infostealer, simplesmente comprometendo seu computador ou smartphone. Portanto, a hospedagem criptografada deve andar de mãos dadas com a utilização de uma solução de proteção antimalware completa para todos os smartphones e computadores.