Desenvolvedores da rede de Prova-de-Trabalho (PoW) da Ethereum pós-The Merge, a ETHW, negou as alegações de que havia sofrido um ataque de repetição no fim de semana.

A empresa de auditoria de contratos inteligentes BlockSec havia sinalizado em 16 de setembro o que descreveu como um ataque de repetição, no qual os invasores coletaram tokens ETHW reproduzindo os dados de chamada da cadeia de Prova-de-Participação (PoS) da Ethereum na rede Ethereum PoW.

De acordo com BlockSec, a causa raiz da exploração foi causada porque a ponte cross-chain Omni na cadeia ETHW usava o chainID antigo e não estava verificando o chainID correto da mensagem cross-chain.

As redes principal e de teste da Ethereum usam dois identificadores com finalidades diferentes, a saber, um ID de rede e um ID de cadeia (chainID). As mensagens ponto a ponto entre os nós usam o ID da rede, enquanto as assinaturas de transação usam o chainID. O EIP-155 introduziu o chainID como um meio de evitar ataques de repetição entre as blockchains ETH e Ethereum Classic (ETC).

1/ Alerta | A BlockSec detectou que exploradores estão reproduzindo a mensagem (calldata) da cadeia PoS na @EthereumPow. A causa raiz da exploração é que a ponte não verifica corretamente o chainid real (que é mantido por si mesmo) da mensagem de cadeia cruzada.

— BlockSec (@BlockSecTeam)

A BlockSec foi o primeiro serviço de análise a sinalizar o ataque de repetição e notificou a ETHW, que por sua vez rapidamente rejeitou as alegações iniciais de que um ataque de repetição havia sido realizado na cadeia. A ETHW tentou notificar a Omni Bridge sobre a exploração no nível do contrato:

Tentamos de todas as formas entrar em contato com a Omni Bridge ontem.

As pontes precisam verificar corretamente o ChainID real das mensagens cross-chain.

Novamente, isso não é uma repetição de transação no nível da cadeia, é uma repetição de calldata devido à falha do contrato específico.

— EthereumPoW (ETHW) Official #ETHW #ETHPoW (@EthereumPoW)

A análise do ataque revelou que o explorador começou transferindo 200 WETH através da ponte Omni da rede Gnosis antes de reproduzir a mesma mensagem na cadeia PoW, obtendo um extra de 200 ETHW. Isso resultou no esgotamento do saldo do contrato de cadeia implantado na cadeia PoW.

A análise da BlockSec do código-fonte da ponte Omni mostrou que a lógica para verificar o chainID estava presente, mas o chainID verificado usado no contrato foi extraído de um valor armazenado em um dispositivo chamado unitStorage.

A equipe explicou que este não era o chainID correto coletado por meio do opcode CHAINID, que foi proposto pelo EIP-1344 e exacerbado pelo fork resultante após o Ethereum Merge:

“Isso provavelmente se deve ao fato de o código ser bastante antigo (usando Solidity 0.4.24). O código funciona bem o tempo todo até a bifurcação da cadeia PoW.”

Isso permitiu que os invasores coletassem ETHW e potencialmente outros tokens de propriedade da ponte na cadeia PoW e os negociassem no mercado.

O Cointelegraph entrou em contato com a BlockSec para verificar o valor extraído. Yajin Zhou, CEO da BlockSec, disse que sua equipe não realizou um cálculo preciso, mas destacou um limite nas transferências de ETH (WETH) através da Omni Bridge:

"A ponte tem um limite de quantos WETH podem ser transferidos. O invasor pode obter apenas 250 ETHW por dia. Observe que isso é apenas para este contrato de ponte. Essa vulnerabilidade pode existir em outros projetos na cadeia EthereumPoW."

Após o bem-sucedido The Merge da Ethereum, que concluiu a transição da blockchain de contratos inteligentes de PoW para PoS, um grupo de mineradores decidiu continuar a cadeia PoW por meio de um hard fork.

LEIA MAIS