Os desenvolvedores do protocolo de mensageiro Matrix de código aberto lançaram uma atualização para corrigir vulnerabilidades críticas de criptografia de ponta a ponta que subvertem as garantias de confidencialidade e autenticação que foram chave para a ascensão meteórica da plataforma.
Matrix é um amplo ecossistema de clientes e servidores de colaboração e bate-papo de código aberto e proprietários que são totalmente interoperáveis. O aplicativo mais conhecido desta família é o Element, um cliente de bate-papo para Windows, macOS, iOS e Android, mas também há uma variedade estonteante de outros membros.
Matrix aproximadamente visa fazer para comunicação em tempo real o que o padrão SMTP faz para e-mail, que é fornecer um protocolo federado permitindo que clientes usuários conectados a diferentes servidores troquem mensagens entre si. Ao contrário do SMTP, no entanto, o Matrix oferece criptografia robusta de ponta a ponta, ou E2EE, projetada para garantir que as mensagens não possam ser falsificadas e que apenas os remetentes e destinatários das mensagens possam ler o conteúdo.
Matthew Hodgson – o cofundador e líder de projeto da Matrix e o CEO e CTO da Element, fabricante do aplicativo Element principal – disse em um e-mail que estimativas conservadoras são de que existem cerca de 69 milhões de contas Matrix espalhadas por cerca de 100.000 servidores. A empresa atualmente vê cerca de 2,5 milhões de usuários ativos mensais usando seu servidor Matrix.org, embora ele tenha dito que isso também é provavelmente uma subestimação. Entre as centenas de organizações que anunciam planos para construir sistemas internos de mensagens baseados no Matrix estão Mozilla, KDE e os governos da França e da Alemanha.
Na quarta-feira, uma equipe publicou uma pesquisa que relata uma série de vulnerabilidades que prejudicam as garantias de autenticação e confidencialidade da Matrix. Todos os ataques descritos pelos pesquisadores requerem a ajuda de um servidor doméstico malicioso ou comprometido que tem como alvo os usuários que se conectam a ele. Em alguns casos, existem maneiras de usuários experientes detectarem que um ataque está em andamento.
Os pesquisadores relataram em particular as vulnerabilidades à Matrix no início deste ano e concordaram com uma divulgação coordenada programada para Lançamento de quarta-feira pela Matrix de atualizações que abordam as falhas mais graves.
“Nossos ataques permitem que um operador de servidor malicioso ou alguém que obtenha o controle de um servidor Matrix leia as mensagens de usuários e para personificá-los um para o outro”, escreveram os pesquisadores em um e-mail. “A Matrix visa proteger contra esse comportamento fornecendo criptografia de ponta a ponta, mas nossos ataques destacam falhas em seu design de protocolo e em seu principal elemento de implementação de cliente.”
Hodgson disse que discorda da afirmação dos pesquisadores de que algumas das vulnerabilidades residem no próprio protocolo Matrix e afirma que são todos erros de implementação na primeira geração de aplicativos Matrix, que incluem o Element. Ele disse que uma nova geração de aplicativos Matrix, incluindo ElementX, Hydrogen e Third Room, não são afetados. Não há indicações de que as vulnerabilidades tenham sido exploradas ativamente, acrescentou.
Quebra de confidencialidade, verificação de ataque e mais
Os dois primeiros ataques fornecem uma quebra de confidencialidade simples, explorando o controle do servidor doméstico sobre os usuários e dispositivos que têm permissão para entrar em uma sala privada. Somente uma pessoa que cria uma sala ou é delegada pelo criador da sala tem permissão para convidar e admitir novos membros, mas as mensagens de gerenciamento de sala que possibilitam esse mecanismo não precisam ser autenticadas com as chaves criptográficas desses usuários autorizados. É trivial para alguém com controle do homeserver falsificar tais mensagens e, a partir daí, admitir usuários sem a permissão dos usuários autorizados. Uma vez admitido, o invasor obtém acesso às comunicações descriptografadas enviadas naquela sala.
Os pesquisadores têm o cuidado de observar que todos os novos participantes da sala são automaticamente registrados em uma linha do tempo do evento e, portanto, podem ser detectado por qualquer pessoa na sala que inspeciona manualmente a lista de membros em tempo real. Em salas grandes com muita atividade, no entanto, esse tipo de inspeção pode não ser prático, disseram os pesquisadores.