No final de abril, a empresa de segurança CertiK descobriu que a rede Sui estava vulnerável a um novo tipo de ataque, chamado ‘Roda do Hamster’. Em documentos compartilhados com o Cointelegraph Brasil, a CertiK explica que uma transação simples poderia explorar a vulnerabilidade e fazer com que a rede Sui travasse, sem conseguir processar mais informações. A falha foi corrigida dentro de 24 horas.

Loop infinito

A CertiK conta ao Cointelegraph Brasil que os ataques praticados contra nós de uma rede geralmente têm o objetivo de desativá-los. O ataque da Roda do Hamster, porém, tem como objetivo fazer com que os nós entrem em um loop, processando uma mesma operação que nunca termina, sem conseguir processar novas transações. 

Por isso o ataque ganhou este nome, já que os nós ficam em um estado semelhante a hamsters correndo em uma roda. Kang Li, chefe de segurança da CertiK, explica que a vulnerabilidade estava presente no processo de verificação de transações. 

“No sistema da Sui, a falha se originou de um erro na lógica que o sistema usa para verificar o estado de uma transação”, diz Li. “O sistema deve verificar se o estado de uma transação foi modificado, e faz isso consultando o estado anterior da rede. Caso haja uma mudança, a transação é marcada como ‘modificada’, e o sistema faz o processamento”, completa.

Devido à falha mencionada por Li, no entanto, a marcação de mudança foi incluída na transação antes que ela fosse totalmente processada e incluída no estado anterior da rede. Isso causava uma discrepância entre a mudança marcada e a mudança que realmente ocorreu.

“Quando a transação é criada para explorar essa vulnerabilidade, ela pode fazer a rede entrar em um loop infinito, onde a transação é checada várias vezes sem que algum progresso seja feito. [...] O dano que o ataque Roda do Hamster pode causar é permanente, afetando toda a rede mesmo após os validadores serem reiniciados”, conta Li.

O chefe de segurança da CertiK afirma que a Sui corrigiu o erro ajustando a ordem das operações, de forma que a comparação de estados da rede ocorra após o processamento completo da transação. “Isso garante a detecção correta das mudanças no estado da rede e previne esse cenário de loop infinito”, completa.

A CertiK acrescenta que a vulnerabilidade foi rapidamente corrigida pela equipe da Sui. Como forma de reconhecer os esforços da empresa de segurança, a Sui pagou uma recompensa de US$ 500 mil pela descoberta da falha.

E se não fosse descoberta?

Apesar da detecção da vulnerabilidade antes que ela pudesse ser explorada, é possível que o ataque Roda do Hamster seja executado no futuro, em outras blockchains que decidam usar a linguagem de programação Move.

Kang Li, da Certik, afirma que uma solução temporária seria interromper todos os nós, identificar e remover a transação da mempool e reiniciar todos os nós. Mempool é o local onde as transações aguardando inserções em blocos permanecem.

“Contudo, isso não impediria que o agente enviasse outra transação com o mesmo ataque, resultando no processo de paralisação novamente. É algo trivial para o hacker, mas muito pesado para a Sui realizar o tempo todo. A descoberta do ataque Roda do Hamster demonstra a evolução na sofisticação das ameaças às redes blockchain”, conclui Kang Li.

Leia mais: