Pouco depois das 23h UTC da noite de terça-feira, 02 de agosto, começaram a circular notícias de carteiras cujos ativos estavam sendo drenados diretamente para contas de “exploiters”. Mais de 9.000 endereços na rede Solana foram comprometidos, o que totalizou aproximadamente US$ 4,5 milhões em perdas, segundo dados da Solscan. Conjumturalmente, as carteiras mais afetadas foram a Slope e a Phantom, apesar de relatos sobre a Trustwallet.
Até agora, a vulnerabilidade exata ainda não foi totalmente descoberta. No entanto, algumas pistas começaram a surgir e contribuir na distinção do que é ruído e do que é fato. Um “dashboard” foi criado na plataforma Dune Analytics pelo usuário @Tristan0x no intuito de agregar dados relacionados ao episódio:
Fonte: Dune Analytics – Link: https://dune.com/tristan0x/solana-hack-3822
Diversas teorias foram formuladas. A primeira delas abordava a possibilidade de que usuários estivessem autorizando aplicativos a conversar com as carteiras, mas foi rechaçada ao se constatar que carteiras que não haviam interagido com nenhum app também haviam sido hackeadas. Após isso, métricas coletadas indicaram que os “mobile users” representavam a maior parte das vítimas, e um dos co-fundadores da Solana Labs chegou a crer que o problema seria na “supply chain” do iOS. Também descartada.
Uma análise feita pelo @HelloMoon_io encontrou carteiras afetadas que possuíam desde 3 dias até mais de 1 ano de existência, refutando hipóteses ventiladas sobre a possibilidade de que somente carteiras com inatividade superior a 6 meses haviam sofrido com o “exploit”. Um ponto que chamava a atenção era o fato de que os endereços hackeados estavam assinando as transferências diretamente, o que indicava um possível vazamento de chaves privadas.
No entanto, HelloMoon_io percebeu que 455 carteiras haviam sido drenadas sem assinar nenhuma transação. Isso significa, de maneira mais ampla, que os usuários não haviam feito nada que contribuísse para o vazamento, tendo apenas recebido SOL. Chegou-se a cogitar a hipótese de um problema técnico chamado “Supply Chain ATEC de código”, onde possivelmente haveria um “bug” em uma “library” – que integrava a programação de softwares - responsável por manipular chaves públicas e privadas (Library conhecida como ED25519).
Conforme a poeira foi abaixando, algumas informações foram ficando mais claras e os indícios começaram a apontar que o provedor de carteiras Slope foi o grande responsável pelo “exploit”. O perfil da @SolanaStatus no twitter chegou a afirmar que “parece que os endereços afetados foram criados, importados ou usados em aplicativos de mobile wallets Slope em algum momento.”
Fonte: @SolanaStatus – Link: https://twitter.com/SolanaStatus/status/1554921396408647680?ref_src=twsrc%5Etfw
Durante sua investigação, a Solana Foundation afirmou que as chaves privadas de cada uma das carteiras comprometidas no “exploit” foram “enviadas acidentalmente para um serviço de monitoramento de aplicativos” como o Slope. Também acrescentou que não havia evidências para sugerir que o protocolo Solana ou sua criptografia tenham sido comprometidos pelo ataque.
O time da Slope Wallet contratou o serviço de segurança da SlowMist para analisar o caso. Os dados fornecidos pela Solana Foundation mostram que quase 60% dos usuários roubados usam a carteira Phantom, cerca de 30% usam a carteira Slope e o restante usa a TrustWallet. O problema foi encontrado tanto em celulares iOS quanto Android.
Na análise, a SlowMist constatou que a SlopeWallet (versão 2.2.2) usa um serviço de “Sentry”, coletando dados confidenciais como mnemônicos e chaves privadas para enviar a um outro local (“https://o7e.slope.finance/api/4/envelope/”) quando uma carteira é criada. Isso intrigou os investigadores.
A seguir, analisaram versões anteriores e observaram que o serviço Sentry, já no pacote com versão 2.2.0, realizava essa coleta e envio, enquanto a Versão: 2.1.3 – anterior - não apresenta nenhum desses comportamentos. Como a versão 2.2.0 foi lançada em 24/06/2022, concluiu-se que todos os usuários que utilizaram os serviços da carteira daquela data em diante foram afetados.
Você pode estar se perguntando sobre os 60% que usavam Phantom Wallet, e a resposta ainda é um mistério. Após analisar a versão 22.07.11_65 da carteira, também foi constatado o uso de serviço Sentry para coletar informações dos usuários, mas não houve comportamento de coleta de mnemônicos ou chaves privadas. As investigações ainda continuam para responder as perguntas que restam.