Este ataque expôs um clássico problema de estouro de inteiros, manifestando-se especificamente na truncagem de dados durante o processo de conversão de tipos.



Desagregação dos detalhes técnicos:

1)Localização de falhas: O problema ocorre no mecanismo de conversão de tipos da função get_amount_by_liquidity, onde a conversão forçada de u256 para u64 resulta na perda de dados do bit mais significativo.

2) Processo de ataque:

1. O atacante passa um parâmetro de quantidade de liquidez extremamente grande através da função add_liquidity;
2. O sistema chama a função get_delta_b para calcular a quantidade necessária de tokens B.
3、在计算过程中,两个u128类型数据相乘,理论结果应为u256类型;

Defeito chave: a função força a conversão do resultado u256 para u64 ao retornar, levando ao truncamento dos 128 bits superiores.

3) Efeito da utilização: O montante de tokens que antes era necessário para criar a quota de liquidez agora pode ser alcançado com uma quantidade muito pequena de tokens. Os atacantes obtêm uma enorme quota de liquidez a um custo muito baixo e, em seguida, realizam arbitragem no pool de fundos ao destruir parte da liquidez.

Comparação simples: é como usar uma calculadora que só pode mostrar 8 dígitos para calcular 1 bilhão × 1 bilhão, o resultado de 20 dígitos só pode mostrar os últimos 8 dígitos, os 12 dígitos à frente desaparecem diretamente. O atacante aproveitou essa vulnerabilidade de "falta de precisão nos cálculos".

Move语言在资源管理和类型安全方面确实具备显有优势,能够有效防范双重支付、资源泄露等底层安全问题。 但此次Cetus协议出现的是应用逻辑层面的数学计算错误,并非Move语言本身的设计缺陷。

Especificamente, embora o sistema de tipos do Move seja rigoroso, ainda depende do julgamento correto do desenvolvedor para operações de conversão de tipos explícitas. Quando o programa executa ativamente a conversão de tipo de u256 para u64, o compilador não consegue determinar se isso é um design intencional ou um erro lógico.

Além disso, este incidente de segurança não está de forma alguma relacionado com o mecanismo de consenso, processamento de transações, gestão de estado e outras funcionalidades fundamentais do Sui. A Sui Network apenas executou fielmente as instruções de transação enviadas pelo protocolo Cetus, e a vulnerabilidade origina-se de uma falha lógica no próprio protocolo de camada de aplicação.

说白了,再先进的编程语言也无法完全杜绝应用层的逻辑错误。 Move能够防范大部分底层安全风险,但无法代替开发者进行业务逻辑的边界检查和数学运算的溢出保护。
GET0.71%
B3.39%
MOVE3.25%
CETUS7.76%
Ver original
Esta página pode conter conteúdos de terceiros, que são fornecidos apenas para fins informativos (sem representações/garantias) e não devem ser considerados como uma aprovação dos seus pontos de vista pela Gate, nem como aconselhamento financeiro ou profissional. Consulte a Declaração de exoneração de responsabilidade para obter mais informações.
  • Recompensa
  • Comentar
  • Republicar
  • Partilhar
Comentar
0/400
Nenhum comentário
Negocie cripto em qualquer lugar e a qualquer hora
qrCode
Digitalizar para transferir a aplicação Gate
Novidades
Português (Portugal)
  • 简体中文
  • English
  • Tiếng Việt
  • 繁體中文
  • Español
  • Русский
  • Français (Afrique)
  • Português (Portugal)
  • Bahasa Indonesia
  • 日本語
  • بالعربية
  • Українська
  • Português (Brasil)