Em 10 de agosto de 2021, a plataforma de interoperabilidade entre blockchains Poly Network — que permite aos usuários transferir ou trocar tokens entre blockchains — foi drenada de mais de US$ 610 milhões, em um dos maiores roubos de moeda digital já registrados. A empresa de segurança SlowMist confirmou que mais de US$ 610 milhões foram transferidos para três endereços, com grandes perdas no pool entre blockchains do O3 Swap.

A causa raiz foi uma falha de design do contrato inteligente, não uma chave roubada. Nos contratos da Poly, a função verifyHeaderAndExecuteTx do EthCrossChainManager pode executar transações entre blockchains, e poderia ser usada para chamar putCurEpochConPubKeyBytes — alterando a função de keeper do contrato EthCrossChainData para um endereço escolhido pelo atacante. Com o keeper substituído, o atacante podia construir transações à vontade e sacar qualquer quantia.

O atacante, mais tarde apelidado de 'Mr. White Hat', alegou que o ataque foi feito 'por diversão' para expor a vulnerabilidade e começou a devolver os fundos no dia seguinte. A Poly Network ofereceu uma recompensa de US$ 500.000 e prometeu que a pessoa não seria responsabilizada. Até 12 de agosto, cerca de US$ 342 milhões haviam sido devolvidos, com apenas cerca de US$ 33 milhões em Tether ainda congelados pela emissora do token.

Mais de US$ 610 milhões roubados em Ethereum, Binance Smart Chain e Polygon — na época, o maior roubo da DeFi de todos os tempos; quase tudo devolvido em poucos dias, exceto US$ 33 milhões em Tether congelados.

O contrato permitia que uma transação entre blockchains alterasse o endereço do keeper que protege todos os fundos.

verifyHeaderAndExecuteTx e o caminho de atualização do keeper compartilhavam uma fronteira de função sem separação de privilégios.

O código foi implantado em três blockchains, mas a mesma falha existia em todas elas.

Não havia mecanismo de pausa de emergência rápido o suficiente para interromper a drenagem depois que ela começou.

Em pontes entre blockchains, privilégio é dinheiro: funções de alteração de keeper e de verificação de mensagens precisam de auditorias separadas, privilégios mínimos e testes de lógica — não apenas custódia de chaves.

O atacante devolveu quase todos os ativos roubados nos dias seguintes e a Poly Network declarou a pessoa um 'white hat', transferindo o restante para uma carteira multifirma controlada por ambos os lados. O valor de US$ 610 milhões superou em muito os US$ 474 milhões em perdas criminosas registradas em toda a DeFi nos primeiros sete meses de 2021, e o incidente levou projetos de pontes a tratar a lógica dos contratos — não apenas as chaves privadas — como a superfície de ataque crítica. A Poly Network continuou operando, mas as pontes entre blockchains permaneceram um alvo favorito nos anos seguintes.

CONFIRA AS EVIDÊNCIAS

As fontes

  1. 'White hat' hacker returns most of $600 million crypto tokens taken - Poly Network Reuters · finance.yahoo.com ·
  2. 'White hat' hacker behind $610m crypto heist returns most of money The Guardian · theguardian.com ·
  3. Over $600 Million Stolen in Biggest Ever Cryptocurrency Theft Infosecurity Magazine · infosecurity-magazine.com ·