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.
O conteúdo é apenas para referência, não uma solicitação ou oferta. Nenhum aconselhamento fiscal, de investimento ou jurídico é fornecido. Consulte a isenção de responsabilidade para obter mais informações sobre riscos.
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.