Recentemente, o roubo de 220 milhões de dólares no protocolo Cetus, que chocou o mundo crypto, gerou discussões em várias esferas. A equipe de segurança cibernética SlowMist também divulgou um relatório completo sobre todo o incidente, afirmando que o ataque demonstrou o poder das vulnerabilidades de estouro matemático. Os atacantes, através de cálculos precisos, escolheram parâmetros específicos e exploraram a falha da função checked_shlw, obtendo liquidez no valor de bilhões com o custo de 1 Token. Este foi um ataque matemático extremamente sofisticado, e recomenda-se que os desenvolvedores verifiquem rigorosamente todas as condições de limite de funções matemáticas no desenvolvimento de contratos inteligentes.
Slow Mist: O cerne do evento é uma vulnerabilidade na verificação de transbordamento
A equipe da Slow Mist afirmou que o cerne deste incidente é que o atacante construiu cuidadosamente os parâmetros, fazendo com que a sobrecarga ocorresse, mas conseguindo contornar a detecção, e no final, com uma quantia muito pequena de Token, foi possível trocar por enormes ativos de Liquidez. Isso está de acordo com a análise anterior de @neeksec.
( do protocolo vulnerabilidades à dialética descentralizada: análise detalhada do evento Cetus, a segurança da linguagem MOVE foi abalada? )
O atacante primeiro emprestou 10,020,000 haSUI através de um empréstimo relâmpago, fazendo com que o preço no pool haSUI/SUI despencasse 99,9%. Em seguida, adicionou liquidez na faixa de tick de 300000 a 300200, que tem apenas 1% de largura de faixa de preço.
Em seguida, está a vulnerabilidade crítica do evento, o atacante afirma ter adicionado uma enorme Liquidez ( superior a 10 elevado a 27 ), mas devido a um erro de codificação na função checked_shlw, o contrato apenas cobrou 1 moeda haSUI.
Fórmula de cálculo da liquidez necessária ( Fonte: Slow Mist Technology )
O motivo pelo qual o atacante da análise Slow Mist conseguiu trocar 1 Token por uma enorme liquidez, reside essencialmente na vulnerabilidade da verificação de estouro no método get_delta_a, especificamente na variável checked_shlw. O atacante explorou esse ponto, causando uma grave discrepância no cálculo de quanto haSUI realmente precisava ser adicionado. Como o estouro não foi detectado, o sistema avaliou erroneamente a quantidade necessária de haSUI, resultando na necessidade de um número muito pequeno de Token para que o atacante pudesse trocar por uma grande quantidade de ativos de liquidez.
Qualquer valor de entrada inferior a 0xffffffffffffffff << 192 irá contornar a verificação de overflow. No entanto, quando esses valores são deslocados para a esquerda em 64 bits, o resultado ultrapassa o intervalo de representação de u256, fazendo com que os dados de bits altos sejam truncados, resultando em um valor muito menor do que o teórico. Assim, o sistema subestimará a quantidade necessária de haSUI em cálculos subsequentes.
Apareceu um problema com o código (. Fonte: Slow Mist Technology )
Os atacantes removeram a liquidez em três etapas, obtendo um total de 20,040,000 haSUI e mais de 5,760,000 SUI. Por fim, os atacantes devolveram o empréstimo relâmpago, resultando em um lucro líquido de mais de 230 milhões de dólares.
Cetus já corrigiu o código
Após o ocorrido, a Cetus corrigiu o código, incluindo:
Corrija 0xffffffffffffffff << 192 para o valor de limite correto 1 << 192.
Alterar a condição de julgamento de n > mask para n >= mask.
Assegure-se de que, quando uma deslocação de 64 bits à esquerda pode causar um estouro, o sinal de estouro seja detetado e retornado corretamente.
Função checked_shlw após reparo ( Fonte: Slow Mist Technology ) Equipe Slow Mist: Os desenvolvedores devem verificar rigorosamente todas as condições de limite das funções matemáticas.
A Slow Mist indica que o atacante já tinha preparado a taxa de gas há dois dias, e antes do ataque houve uma tentativa, mas falhou. Atualmente, os fundos do endereço Sui do atacante foram congelados, e o endereço EVM também foi adicionado à lista negra pela Slow Mist para rastreamento.
A equipe da Slow Mist afirmou que o ataque demonstrou o poder da vulnerabilidade de estouro matemático. Os atacantes escolheram parâmetros específicos através de cálculos precisos, explorando a falha da função checked_shlw, obtendo liquidez no valor de bilhões com o custo de 1 token. Este foi um ataque matemático extremamente sofisticado, e a equipe de segurança da Slow Mist recomenda que os desenvolvedores verifiquem rigorosamente todas as condições de limite das funções matemáticas durante o desenvolvimento de contratos inteligentes.
Este artigo no mundo crypto está a enganar? Relatório do incidente SlowMist: como os hackers aproveitaram a falha no código para roubar 220 milhões de dólares. Apareceu pela primeira vez na Chain News ABMedia.
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.
mundo crypto版瞞天過海?慢霧事件報告:駭客如何利用代碼漏洞洗劫 Cetus 2.2 億美元
Recentemente, o roubo de 220 milhões de dólares no protocolo Cetus, que chocou o mundo crypto, gerou discussões em várias esferas. A equipe de segurança cibernética SlowMist também divulgou um relatório completo sobre todo o incidente, afirmando que o ataque demonstrou o poder das vulnerabilidades de estouro matemático. Os atacantes, através de cálculos precisos, escolheram parâmetros específicos e exploraram a falha da função checked_shlw, obtendo liquidez no valor de bilhões com o custo de 1 Token. Este foi um ataque matemático extremamente sofisticado, e recomenda-se que os desenvolvedores verifiquem rigorosamente todas as condições de limite de funções matemáticas no desenvolvimento de contratos inteligentes.
Slow Mist: O cerne do evento é uma vulnerabilidade na verificação de transbordamento
A equipe da Slow Mist afirmou que o cerne deste incidente é que o atacante construiu cuidadosamente os parâmetros, fazendo com que a sobrecarga ocorresse, mas conseguindo contornar a detecção, e no final, com uma quantia muito pequena de Token, foi possível trocar por enormes ativos de Liquidez. Isso está de acordo com a análise anterior de @neeksec.
( do protocolo vulnerabilidades à dialética descentralizada: análise detalhada do evento Cetus, a segurança da linguagem MOVE foi abalada? )
O atacante primeiro emprestou 10,020,000 haSUI através de um empréstimo relâmpago, fazendo com que o preço no pool haSUI/SUI despencasse 99,9%. Em seguida, adicionou liquidez na faixa de tick de 300000 a 300200, que tem apenas 1% de largura de faixa de preço.
Em seguida, está a vulnerabilidade crítica do evento, o atacante afirma ter adicionado uma enorme Liquidez ( superior a 10 elevado a 27 ), mas devido a um erro de codificação na função checked_shlw, o contrato apenas cobrou 1 moeda haSUI.
Fórmula de cálculo da liquidez necessária ( Fonte: Slow Mist Technology )
O motivo pelo qual o atacante da análise Slow Mist conseguiu trocar 1 Token por uma enorme liquidez, reside essencialmente na vulnerabilidade da verificação de estouro no método get_delta_a, especificamente na variável checked_shlw. O atacante explorou esse ponto, causando uma grave discrepância no cálculo de quanto haSUI realmente precisava ser adicionado. Como o estouro não foi detectado, o sistema avaliou erroneamente a quantidade necessária de haSUI, resultando na necessidade de um número muito pequeno de Token para que o atacante pudesse trocar por uma grande quantidade de ativos de liquidez.
Qualquer valor de entrada inferior a 0xffffffffffffffff << 192 irá contornar a verificação de overflow. No entanto, quando esses valores são deslocados para a esquerda em 64 bits, o resultado ultrapassa o intervalo de representação de u256, fazendo com que os dados de bits altos sejam truncados, resultando em um valor muito menor do que o teórico. Assim, o sistema subestimará a quantidade necessária de haSUI em cálculos subsequentes.
Apareceu um problema com o código (. Fonte: Slow Mist Technology )
Os atacantes removeram a liquidez em três etapas, obtendo um total de 20,040,000 haSUI e mais de 5,760,000 SUI. Por fim, os atacantes devolveram o empréstimo relâmpago, resultando em um lucro líquido de mais de 230 milhões de dólares.
Cetus já corrigiu o código
Após o ocorrido, a Cetus corrigiu o código, incluindo:
Corrija 0xffffffffffffffff << 192 para o valor de limite correto 1 << 192.
Alterar a condição de julgamento de n > mask para n >= mask.
Assegure-se de que, quando uma deslocação de 64 bits à esquerda pode causar um estouro, o sinal de estouro seja detetado e retornado corretamente.
Função checked_shlw após reparo ( Fonte: Slow Mist Technology ) Equipe Slow Mist: Os desenvolvedores devem verificar rigorosamente todas as condições de limite das funções matemáticas.
A Slow Mist indica que o atacante já tinha preparado a taxa de gas há dois dias, e antes do ataque houve uma tentativa, mas falhou. Atualmente, os fundos do endereço Sui do atacante foram congelados, e o endereço EVM também foi adicionado à lista negra pela Slow Mist para rastreamento.
A equipe da Slow Mist afirmou que o ataque demonstrou o poder da vulnerabilidade de estouro matemático. Os atacantes escolheram parâmetros específicos através de cálculos precisos, explorando a falha da função checked_shlw, obtendo liquidez no valor de bilhões com o custo de 1 token. Este foi um ataque matemático extremamente sofisticado, e a equipe de segurança da Slow Mist recomenda que os desenvolvedores verifiquem rigorosamente todas as condições de limite das funções matemáticas durante o desenvolvimento de contratos inteligentes.
Este artigo no mundo crypto está a enganar? Relatório do incidente SlowMist: como os hackers aproveitaram a falha no código para roubar 220 milhões de dólares. Apareceu pela primeira vez na Chain News ABMedia.