Análise do incidente de ataque de empréstimo flash na Cellframe Network
No dia 1 de junho de 2023, às 10h07min55s (UTC+8), a Cellframe Network foi alvo de um ataque de hackers devido a um problema de cálculo da quantidade de tokens durante o processo de migração de liquidez em uma determinada blockchain. Este ataque resultou em um lucro de 76.112 dólares para os hackers.
Detalhes do Ataque
Hackers utilizam a funcionalidade de Empréstimos Flash para obter grandes quantias de fundos e tokens, manipulando a proporção de tokens no pool de liquidez para realizar o ataque. O processo de ataque inclui principalmente os seguintes passos:
Obter fundos: obter 1000 tokens nativos de uma determinada cadeia e 500000 tokens New Cell através de Empréstimos Flash.
Manipulação da piscina de liquidez: trocar todos os tokens New Cell por tokens nativos, fazendo com que a quantidade de tokens nativos na piscina se aproxime de zero. Em seguida, trocar 900 tokens nativos por tokens Old Cell.
Adicionar liquidez: Antes do ataque, o hacker adiciona liquidez ao Pool de Liquidez de Old Cell e do token nativo, obtendo Old lp.
Acionar a migração de liquidez: chamar a função de migração de liquidez. Neste momento, o novo pool tem quase nenhum token nativo, enquanto o pool antigo tem quase nenhum token Old Cell.
Exploração de vulnerabilidades de cálculo: Como a quantidade de tokens Old Cell no antigo pool é muito pequena, a quantidade de tokens nativos obtidos ao remover liquidez aumenta, enquanto a quantidade de tokens Old Cell diminui. Isso leva a que os usuários precisem adicionar apenas uma pequena quantidade de tokens nativos e tokens New Cell para obter liquidez, e os tokens em excesso são devolvidos ao usuário.
Concluir o ataque: o hacker remove a liquidez do novo pool e troca os tokens Old Cell retornados por tokens nativos. Em seguida, aproveita a situação em que há muitos tokens Old Cell mas falta a moeda nativa no pool antigo, trocando os tokens Old Cell novamente por tokens nativos, assim obtendo lucro.
Causas de Vulnerabilidades e Recomendações de Prevenção
A causa fundamental deste ataque reside em um problema de cálculo durante o processo de migração de liquidez. O atacante manipulou a proporção de tokens no pool e explorou uma vulnerabilidade de cálculo na função de migração.
Para evitar ataques semelhantes, recomenda-se tomar as seguintes medidas:
Consideração abrangente: ao migrar a liquidez, deve-se considerar plenamente as mudanças nas quantidades das duas criptomoedas nos novos e antigos fundos, assim como os preços atuais das criptomoedas.
Evitar cálculos simples: não se deve confiar apenas na quantidade das duas moedas no par de negociação para cálculos diretos, pois isso pode ser manipulado por atacantes.
Auditoria de segurança: antes do lançamento do código, é imprescindível realizar uma auditoria de segurança abrangente e rigorosa para identificar e corrigir potenciais vulnerabilidades.
Este evento enfatiza novamente a importância da segurança e robustez no design e implementação de operações financeiras complexas. As equipes de projeto devem estar sempre atentas e otimizar continuamente suas medidas de segurança.
This page may contain third-party content, which is provided for information purposes only (not representations/warranties) and should not be considered as an endorsement of its views by Gate, nor as financial or professional advice. See Disclaimer for details.
A Cellframe Network sofreu um ataque de empréstimo flash, com uma vulnerabilidade de migração de liquidez causando uma perda de 76,112 dólares.
Análise do incidente de ataque de empréstimo flash na Cellframe Network
No dia 1 de junho de 2023, às 10h07min55s (UTC+8), a Cellframe Network foi alvo de um ataque de hackers devido a um problema de cálculo da quantidade de tokens durante o processo de migração de liquidez em uma determinada blockchain. Este ataque resultou em um lucro de 76.112 dólares para os hackers.
Detalhes do Ataque
Hackers utilizam a funcionalidade de Empréstimos Flash para obter grandes quantias de fundos e tokens, manipulando a proporção de tokens no pool de liquidez para realizar o ataque. O processo de ataque inclui principalmente os seguintes passos:
Obter fundos: obter 1000 tokens nativos de uma determinada cadeia e 500000 tokens New Cell através de Empréstimos Flash.
Manipulação da piscina de liquidez: trocar todos os tokens New Cell por tokens nativos, fazendo com que a quantidade de tokens nativos na piscina se aproxime de zero. Em seguida, trocar 900 tokens nativos por tokens Old Cell.
Adicionar liquidez: Antes do ataque, o hacker adiciona liquidez ao Pool de Liquidez de Old Cell e do token nativo, obtendo Old lp.
Acionar a migração de liquidez: chamar a função de migração de liquidez. Neste momento, o novo pool tem quase nenhum token nativo, enquanto o pool antigo tem quase nenhum token Old Cell.
Exploração de vulnerabilidades de cálculo: Como a quantidade de tokens Old Cell no antigo pool é muito pequena, a quantidade de tokens nativos obtidos ao remover liquidez aumenta, enquanto a quantidade de tokens Old Cell diminui. Isso leva a que os usuários precisem adicionar apenas uma pequena quantidade de tokens nativos e tokens New Cell para obter liquidez, e os tokens em excesso são devolvidos ao usuário.
Concluir o ataque: o hacker remove a liquidez do novo pool e troca os tokens Old Cell retornados por tokens nativos. Em seguida, aproveita a situação em que há muitos tokens Old Cell mas falta a moeda nativa no pool antigo, trocando os tokens Old Cell novamente por tokens nativos, assim obtendo lucro.
Causas de Vulnerabilidades e Recomendações de Prevenção
A causa fundamental deste ataque reside em um problema de cálculo durante o processo de migração de liquidez. O atacante manipulou a proporção de tokens no pool e explorou uma vulnerabilidade de cálculo na função de migração.
Para evitar ataques semelhantes, recomenda-se tomar as seguintes medidas:
Consideração abrangente: ao migrar a liquidez, deve-se considerar plenamente as mudanças nas quantidades das duas criptomoedas nos novos e antigos fundos, assim como os preços atuais das criptomoedas.
Evitar cálculos simples: não se deve confiar apenas na quantidade das duas moedas no par de negociação para cálculos diretos, pois isso pode ser manipulado por atacantes.
Auditoria de segurança: antes do lançamento do código, é imprescindível realizar uma auditoria de segurança abrangente e rigorosa para identificar e corrigir potenciais vulnerabilidades.
Este evento enfatiza novamente a importância da segurança e robustez no design e implementação de operações financeiras complexas. As equipes de projeto devem estar sempre atentas e otimizar continuamente suas medidas de segurança.