Simple Science

Ciência de ponta explicada de forma simples

# Informática# Criptografia e segurança

Novas Estratégias para Proteger Contratos Inteligentes de Ataques

Este artigo fala sobre os avanços na proteção de contratos inteligentes contra vulnerabilidades e perdas financeiras.

― 7 min ler


Protegendo ContratosProtegendo ContratosInteligentes de Ataquesvulnerabilidades.contratos inteligentes contraEstratégias avançadas pra proteger
Índice

Nos últimos anos, o uso de Contratos Inteligentes em plataformas de blockchain aumentou bastante. Contratos inteligentes são programas que se executam sozinhos em uma blockchain e aplicam automaticamente os termos de um acordo. Mas esse crescimento veio com um sério problema: muitos contratos inteligentes têm vulnerabilidades que podem resultar em perdas financeiras significativas, muitas vezes chegando a bilhões de dólares.

Visão Geral do Problema

Atacantes exploram fraquezas em contratos inteligentes para roubar fundos. Eles desenvolveram truques para contornar defesas, e esses truques são chamados de "frontrunning." Frontrunning é quando um ator malicioso observa uma transação antes de ela ser oficialmente registrada na blockchain, permitindo que ele insira sua própria transação à frente para ganhar uma vantagem. Embora tenham sido desenvolvidas abordagens para proteger contra esses ataques, muitas vezes elas falham em aplicações do mundo real.

Esse artigo explora as limitações das proteções existentes contra frontrunning e apresenta novas estratégias que podem ajudar a evitar perdas de ativos.

O Estado Atual dos Ataques a Contratos Inteligentes

Para entender como esses ataques ocorrem, precisamos olhar para casos recentes. Pesquisadores coletaram dados sobre vários ataques e avaliaram como foram conduzidos. A partir da análise de 158 transações de ataque, foi constatado que um número significativo foi bem-sucedido em contornar as proteções atuais.

Limitações das Defesas Existentes

Muitas defesas atuais dependem fortemente do monitoramento de transações pendentes no "Mempool," uma área de espera para transações antes de serem adicionadas à blockchain. No entanto, os atacantes costumam usar transações privadas para esconder suas ações. Isso limita a eficácia das defesas convencionais, que muitas vezes não conseguem detectar os ataques a tempo.

Além disso, quando tanto atacantes quanto defensores tentam superar uns aos outros nos preços do gás (a taxa paga pelo processamento das transações), isso aumenta o custo total da tentativa de resgatar fundos. Como resultado, muitos fundos que poderiam ter sido resgatados acabam sendo desperdiçados em taxas de gás.

Novas Estratégias de Defesa

Reconhecendo as falhas nas medidas existentes, novas estratégias foram desenvolvidas para combater os ataques. A primeira abordagem envolve criar um método para identificar potencialmente ataques antes que eles ocorram. Monitorando contratos exploratórios, que são os contratos que os atacantes usam, é possível obter sinais de alerta de um ataque iminente.

A segunda estratégia se concentra em corrigir problemas depois que o ataque já ocorreu. A ideia é aprender com ataques anteriores e sintetizar contra-explorações para atacar contratos semelhantes que ainda não foram atacados. Isso pode ajudar a recuperar fundos perdidos atacando os exploradores ou evitando novas perdas.

Como Essas Estratégias Funcionam

  1. Defesa Pré-Ataque: Usando as lições aprendidas com ataques passados, o sistema identifica contratos vulneráveis cedo. Ele cria um mecanismo de defesa que visa proteger essas contratos de forma preventiva, antecipando os movimentos do atacante. Essa postura proativa permite que o sistema atue rapidamente para evitar perdas.

  2. Recuperação Pós-Ataque: Depois que um ataque ocorre, o sistema pode analisar as ações do atacante. Usando ferramentas que replicam as ações do atacante, ele pode direcionar novas potenciais vítimas. Esse processo permite resgatar fundos que poderiam ser perdidos.

Aplicação no Mundo Real

Essas novas abordagens foram testadas em cenários do mundo real. Em um curto período, as estratégias conseguiram identificar e mitigar várias tentativas de ataques. Milhares de ativos foram recuperados com sucesso em casos onde proteções anteriores falharam.

A Necessidade de Proteção Aprimorada

O ritmo rápido de inovação em contratos inteligentes significa que novas vulnerabilidades estão constantemente aparecendo. Os atacantes sempre estão encontrando novas maneiras de explorar fraquezas. Isso cria uma necessidade constante de medidas de proteção melhoradas. As defesas devem evoluir para acompanhar essas mudanças e proteger ativos valiosos no ambiente blockchain.

Entendendo Contratos Inteligentes

Contratos inteligentes são programas automatizados que operam em uma blockchain. Eles se auto-executam quando condições específicas são atendidas, como transferir fundos entre partes. Isso torna transações mais rápidas e confiáveis.

No entanto, esses contratos não são infalíveis. Eles podem estar sujeitos a várias formas de exploração, incluindo erros de programação, vulnerabilidades e falta de medidas de segurança. Uma vez que uma vulnerabilidade é explorada, pode resultar em perdas financeiras imediatas e irreversíveis.

Técnicas Comuns de Exploração

Muitos ataques comuns visam fraquezas específicas dentro de contratos inteligentes. Isso pode incluir:

  • Ataques de Reentrada: Onde um atacante explora um contrato que permite retiradas múltiplas antes que um saldo seja atualizado.

  • Overflow de Inteiros: Quando um cálculo excede o limite máximo de um tipo de dado, permitindo que atacantes manipulem valores a seu favor.

  • Falta de Controle de Acesso: Quando funções dentro de um contrato podem ser chamadas sem autorização adequada, permitindo que usuários não autorizados roubem ou manipulem fundos.

O Papel dos Tokens na Blockchain

Tokens são uma parte significativa das redes de blockchain. Eles são ativos digitais definidos e geridos por contratos inteligentes e podem representar uma ampla gama de valores, como moedas ou direitos.

A plataforma Ethereum introduziu o padrão de token ERC-20, que fornece uma estrutura comum para criar novos tokens. Essa padronização permite que diferentes tokens interajam facilmente com outros serviços de blockchain, incluindo trocas e carteiras.

Formadores de Mercado Automatizados (AMMs) e Pools de Liquidez

AMMs, como Uniswap, permitem que usuários troquem tokens sem precisar de uma exchange centralizada. Eles usam pools de liquidez compostos por dois tokens, que são balanceados com base na oferta e demanda. Usuários podem ganhar taxas ao fornecer liquidez para esses pools, tornando-os uma característica essencial das finanças descentralizadas (DeFi).

No entanto, eles também podem ser um alvo para ataques, especialmente se não tiverem medidas de segurança suficientes.

O Mempool e Sua Importância

O mempool é um componente crítico das redes de blockchain. Ele serve como uma área de espera temporária para transações pendentes antes de serem confirmadas. A forma como as transações são organizadas no mempool é crucial, já que mineradores escolhem transações com base no preço do gás oferecido.

Entender como o mempool opera pode informar estratégias tanto para ataque quanto para defesa. Atacantes podem encontrar oportunidades de exploração enquanto defensores podem monitorar atividades suspeitas.

O Futuro da Segurança em Contratos Inteligentes

À medida que o cenário da tecnologia blockchain continua a evoluir, as medidas de segurança que cercam contratos inteligentes precisam acompanhar. Ao aproveitar novas abordagens para prever e combater ataques, desenvolvedores e usuários podem proteger ativos valiosos de forma mais eficaz.

Algumas direções potenciais para trabalhos futuros incluem:

  • Melhorar Estratégias de Defesa Automatizadas: Desenvolver métodos mais sofisticados para identificar vulnerabilidades e ameaças em contratos inteligentes antes que sejam exploradas.

  • Aprimorar Técnicas de Recuperação: Inovar técnicas que permitam uma recuperação mais rápida de ativos roubados após um ataque, reduzindo as perdas financeiras.

  • Analisar Padrões de Ataque: Estudar as metodologias empregadas por atacantes para melhor antecipar futuras ameaças e desenvolver contra-medidas.

Conclusão

O aumento dos contratos inteligentes foi acompanhado por um correspondente aumento em vulnerabilidades e ataques. Embora as medidas protetivas atuais tenham se mostrado inadequadas em muitos casos do mundo real, novas estratégias oferecem esperança na luta contra essas atividades maliciosas. Focando em medidas tanto preventivas quanto reativas, o objetivo é criar um ambiente mais seguro para a tecnologia blockchain.

Avançando, a colaboração entre pesquisadores, desenvolvedores e usuários será essencial para criar defesas eficazes contra vulnerabilidades em contratos inteligentes. Apenas com esforços contínuos o ecossistema blockchain poderá continuar a prosperar sem a constante ameaça de exploração.

Fonte original

Título: BACKRUNNER: Mitigating Smart Contract Attacks in the Real World

Resumo: Billions of dollars have been lost due to vulnerabilities in smart contracts. To counteract this, researchers have proposed attack frontrunning protections designed to preempt malicious transactions by inserting "whitehat" transactions ahead of them to protect the assets. In this paper, we demonstrate that existing frontrunning protections have become ineffective in real-world scenarios. Specifically, we collected 158 recent real-world attack transactions and discovered that 141 of them can bypass state-of-the-art frontrunning protections. We systematically analyze these attacks and show how inherent limitations of existing frontrunning techniques hinder them from protecting valuable assets in the real world. We then propose a new approach involving 1) preemptive hijack, and 2) attack backrunning, which circumvent the existing limitations and can help protect assets before and after an attack. Our approach adapts the exploit used in the attack to the same or similar contracts before and after the attack to safeguard the assets. We conceptualize adapting exploits as a program repair problem and apply established techniques to implement our approach into a full-fledged framework, BACKRUNNER. Running on previous attacks in 2023, BACKRUNNER can successfully rescue more than \$410M. In the real world, it has helped rescue over \$11.2M worth of assets in 28 separate incidents within two months.

Autores: Chaofan Shou, Yuanyu Ke, Yupeng Yang, Qi Su, Or Dadosh, Assaf Eli, David Benchimol, Doudou Lu, Daniel Tong, Dex Chen, Zoey Tan, Jacob Chia, Koushik Sen, Wenke Lee

Última atualização: 2024-09-10 00:00:00

Idioma: English

Fonte URL: https://arxiv.org/abs/2409.06213

Fonte PDF: https://arxiv.org/pdf/2409.06213

Licença: https://creativecommons.org/licenses/by/4.0/

Alterações: Este resumo foi elaborado com a assistência da AI e pode conter imprecisões. Para obter informações exactas, consulte os documentos originais ligados aqui.

Obrigado ao arxiv pela utilização da sua interoperabilidade de acesso aberto.

Mais de autores

Artigos semelhantes