Simple Science

Ciência de ponta explicada de forma simples

# Informática# Engenharia de software

Aprimorando a Segurança em Pontes Cross-Chain

Uma nova ferramenta tem como objetivo identificar vulnerabilidades em contratos inteligentes cross-chain.

― 9 min ler


Garantindo TransaçõesGarantindo TransaçõesEntre Cadeiasinteligentes cross-chain.vulnerabilidades em contratosNova ferramenta detecta
Índice

A tecnologia blockchain virou um baita sucesso, resultando na criação de várias plataformas e moedas digitais. Alguns exemplos conhecidos são Ethereum, Binance Coin, Bitcoin e NFTs (Tokens Não Fungíveis). O crescimento dessas plataformas diferentes gerou um sistema complexo que precisa de uma comunicação eficaz entre as blockchains, tipo converter Ether em Bitcoin.

Uma ponte cross-chain funciona como um link que permite que informações e ativos digitais se movam entre diferentes blockchains. Por exemplo, a ponte da rede Polygon permite que os usuários transfiram tokens entre Polygon e Ethereum facilmente, sem precisar confiar em terceiros não confiáveis.

Apesar de ter uma presença significativa no mercado, com bilhões de dólares em transações, as pontes cross-chain enfrentam desafios de segurança. Pesquisas mostram que nos últimos dois anos, essas pontes tiveram mais de 29 problemas de segurança. Uma grande parte desses problemas vem das fraquezas em seus contratos inteligentes. Um caso notável é o incidente da PolyNetwork, onde uma falha de segurança resultou em uma perda de 600 milhões de dólares.

As vulnerabilidades específicas dos contratos inteligentes de ponte cross-chain são chamadas de Vulnerabilidades Cross-Chain (CCVs). Essas fraquezas são principalmente devido à natureza única das trocas de ativos que acontecem entre diferentes blockchains. Por exemplo, algumas pontes cross-chain podem ter checagens de segurança insuficientes, o que pode levar a acessos não autorizados.

Apesar de se reconhecer a seriedade dessas vulnerabilidades, a pesquisa para analisar ou identificar esses problemas é limitada, tornando difícil garantir a segurança das pontes cross-chain de forma eficaz. Estudos anteriores exploraram ataques cross-chain e sugeriram algumas maneiras de proteger esses sistemas, mas muitas dessas sugestões não são diretamente aplicáveis ou executáveis.

Nosso Estudo

Em resposta a essa lacuna na pesquisa, desenvolvemos uma nova estrutura de análise estática chamada SmartAxe para identificar CCVs em contratos inteligentes associados a pontes cross-chain. O SmartAxe é a primeira ferramenta projetada especificamente para esse propósito no nível de bytecode, o que significa que pode analisar o código subjacente antes que os contratos sejam implementados. Com isso, nosso objetivo é aumentar a segurança das aplicações de ponte cross-chain e reduzir o risco de perdas financeiras.

As principais causas das CCVs se enquadram em duas categorias: 1) controle de acesso incompleto e 2) inconsistência na forma como as transações cross-chain são processadas. Identificar essas vulnerabilidades por meio da análise estática apresenta seus próprios desafios.

Desafios na Detecção

O primeiro desafio é extrair com precisão as restrições de controle de acesso, que incluem checagens de segurança que deveriam estar em vigor para proteger recursos sensíveis. Essas checagens de segurança podem variar bastante entre os diferentes contratos de ponte, o que dificulta a identificação do que é necessário. Além disso, vincular essas checagens de segurança aos recursos relevantes pode ser complexo.

O segundo desafio envolve analisar o contexto da comunicação cross-chain para detectar inconsistências semânticas. Isso requer observar o fluxo de informações e dados entre as diferentes blockchains. Ferramentas de análise anteriores muitas vezes negligenciaram esses detalhes importantes.

Para superar esses desafios, o SmartAxe incorpora duas principais características de design:

  1. Ele modela as várias maneiras como o controle de acesso é implementado em diferentes pontes cross-chain, padronizando-as em uma única forma.
  2. Ele alinha os fluxos de controle e dados entre as cadeias de origem e destino, permitindo construir gráficos que representam esses fluxos.

Fazendo isso, o SmartAxe pode identificar efetivamente funções vulneráveis que contêm controles de acesso incompletos ou inconsistências semânticas.

Avaliação do SmartAxe

Para testar como o SmartAxe funciona, criamos um conjunto de dados com 16 aplicações de ponte cross-chain, que incluíram 203 contratos inteligentes conhecidos por terem vulnerabilidades. Nossos experimentos mostraram que o SmartAxe conseguiu identificar vulnerabilidades com uma precisão de 84,95% e um recall de 89,77%.

Com a ajuda do SmartAxe, realizamos uma avaliação em larga escala de 1.703 contratos inteligentes de 129 aplicações reais de ponte cross-chain. Essa análise revelou 232 novas vulnerabilidades que não haviam sido identificadas em pesquisas anteriores, afetando ativos que totalizam 1.885.250 dólares.

Entendendo as Pontes Cross-Chain

Uma ponte cross-chain serve como um link para a troca de ativos digitais entre diferentes plataformas de blockchain. Normalmente, uma ponte cross-chain é composta por três componentes:

  1. Cadeia de Origem: A blockchain de onde o ativo se origina.
  2. Relayer Cross-Chain: Um intermediário que facilita a comunicação entre as duas cadeias.
  3. Cadeia de Destino: A blockchain onde o ativo é transferido no final.

Quando um usuário quer trocar um token por outro, ele inicia a transação pela ponte cross-chain. Esse processo geralmente envolve três etapas:

  1. Depósito de Ativo na Cadeia de Origem: O usuário deposita seu ativo, que é travado na cadeia de origem, e um evento de confirmação é emitido.
  2. Comunicação Cross-Chain: O relayer off-chain verifica o depósito e comunica as informações necessárias à cadeia de destino.
  3. Retirada de Ativo na Cadeia de Destino: Assim que o depósito é confirmado, o usuário pode retirar o ativo equivalente da cadeia de destino.

Tipos de Vulnerabilidades

As vulnerabilidades cross-chain (CCVs) podem impactar significativamente a segurança desses contratos inteligentes. Alguns tipos comuns incluem:

  1. Incompletude de Controle de Acesso: Isso acontece quando checagens de segurança importantes estão faltando ou não são implementadas corretamente. Como resultado, usuários não autorizados podem ter acesso a funções críticas.
  2. Inconsistência Semântica Cross-Bridge: Neste caso, a lógica e o significado das ações entre as cadeias de origem e destino não se alinham corretamente, levando a potenciais erros ou explorações.

Pesquisas Anteriores e Limitações

Apesar dos riscos claros apresentados pelas CCVs, a pesquisa sobre identificação dessas vulnerabilidades tem sido limitada. Embora existam várias ferramentas de segurança para analisar contratos inteligentes, elas geralmente se concentram em sistemas de blockchain únicos e não consideram interações cross-chain.

Ferramentas projetadas para análise estática podem encontrar vulnerabilidades potenciais de forma eficaz, mas frequentemente carecem dos modelos específicos necessários para analisar contratos de ponte cross-chain. Como resultado, muitos métodos propostos anteriormente não abordam os desafios únicos impostos por transações cross-chain.

O trabalho anterior mais relevante se concentrou em detectar ataques em tempo real, em vez de analisar o código subjacente do contrato com antecedência para prevenir tais ataques. Nossa abordagem com o SmartAxe preenche essa lacuna ao fornecer uma ferramenta dedicada para identificar vulnerabilidades antes que possam ser exploradas.

Como o SmartAxe Funciona

O SmartAxe é projetado para realizar uma análise estática minuciosa de contratos inteligentes em diferentes blockchains. Aqui está uma visão simplificada de como funciona:

  1. Análise Básica do Fluxo de Controle: O SmartAxe constrói uma visão detalhada de como os contratos inteligentes operam, identificando o fluxo de controle de uma função para outra.
  2. Verificação da Completação do Controle de Acesso: Ele examina as restrições de controle de acesso extraídas e as compara com modelos estabelecidos para encontrar quaisquer omissões de controle de acesso.
  3. Identificação de Inconsistências Semânticas Cross-Bridge: O SmartAxe verifica a consistência na forma como as transações são processadas entre as duas cadeias, garantindo que a lógica permaneça intacta.
  4. Descoberta de Caminhos de Vulnerabilidade: Por fim, ele analisa como as vulnerabilidades podem ser exploradas e identifica os caminhos que podem levar a acessos não autorizados ou erros.

Precisão e Desempenho

O SmartAxe demonstrou um bom desempenho em suas avaliações. Ele conseguiu identificar um número significativo de vulnerabilidades com um alto nível de precisão, mostrando sua utilidade em aumentar a segurança das pontes cross-chain.

Implicações no Mundo Real

As descobertas da nossa pesquisa têm implicações importantes para desenvolvedores e usuários de pontes cross-chain. Com o crescimento das finanças descentralizadas (DeFi) e várias aplicações de blockchain, garantir a segurança das interações cross-chain é crucial.

Estudos de Caso

Para ilustrar a eficácia do SmartAxe, podemos olhar para dois estudos de caso:

  1. Estudo de Caso 1: Um contrato em uma ponte cross-chain popular foi encontrado com controle de acesso incompleto. As funções de autorização e retirada não validavam corretamente o tipo de tokens sendo usados, criando potenciais lacunas que poderiam ser exploradas.

  2. Estudo de Caso 2: Outro contrato revelou uma falha em validar as entradas do usuário para depósitos de liquidez. Sem as checagens adequadas, um atacante poderia enviar informações falsas para reivindicar depósitos falsos.

Ambos os casos destacam como é crítico implementar medidas de segurança rigorosas em contratos inteligentes e como ferramentas como o SmartAxe podem ajudar a identificar essas vulnerabilidades.

Conclusão

O crescimento da tecnologia blockchain e a complexidade das transações cross-chain trazem uma variedade de desafios de segurança. As pontes cross-chain desempenham um papel crucial na facilitação das transações, mas também são suscetíveis a vulnerabilidades que podem ter sérias consequências financeiras.

Nossa pesquisa destaca a necessidade de ferramentas robustas como o SmartAxe para identificar e abordar essas vulnerabilidades antes que possam ser exploradas. Ao adotar uma abordagem sistemática para analisar contratos inteligentes, o SmartAxe oferece uma solução valiosa para melhorar a segurança das pontes cross-chain e proteger os ativos dos usuários.

Com o ecossistema de blockchain continuando a crescer e evoluir, a pesquisa e o desenvolvimento contínuos são essenciais para garantir que esses sistemas sejam seguros e confiáveis. Ao investir em ferramentas e estruturas que promovem segurança e transparência, podemos ajudar a abrir caminho para um futuro mais seguro e confiável na tecnologia blockchain.

Fonte original

Título: SmartAxe: Detecting Cross-Chain Vulnerabilities in Bridge Smart Contracts via Fine-Grained Static Analysis

Resumo: With the increasing popularity of blockchain, different blockchain platforms coexist in the ecosystem (e.g., Ethereum, BNB, EOSIO, etc.), which prompts the high demand for cross-chain communication. Cross-chain bridge is a specific type of decentralized application for asset exchange across different blockchain platforms. Securing the smart contracts of cross-chain bridges is in urgent need, as there are a number of recent security incidents with heavy financial losses caused by vulnerabilities in bridge smart contracts, as we call them Cross-Chain Vulnerabilities (CCVs). However, automatically identifying CCVs in smart contracts poses several unique challenges. Particularly, it is non-trivial to (1) identify application-specific access control constraints needed for cross-bridge asset exchange, and (2) identify inconsistent cross-chain semantics between the two sides of the bridge. In this paper, we propose SmartAxe, a new framework to identify vulnerabilities in cross-chain bridge smart contracts. Particularly, to locate vulnerable functions that have access control incompleteness, SmartAxe models the heterogeneous implementations of access control and finds necessary security checks in smart contracts through probabilistic pattern inference. Besides, SmartAxe constructs cross-chain control-flow graph (xCFG) and data-flow graph (xDFG), which help to find semantic inconsistency during cross-chain data communication. To evaluate SmartAxe, we collect and label a dataset of 88 CCVs from real-attacks cross-chain bridge contracts. Evaluation results show that SmartAxe achieves a precision of 84.95% and a recall of 89.77%. In addition, SmartAxe successfully identifies 232 new/unknown CCVs from 129 real-world cross-chain bridge applications (i.e., from 1,703 smart contracts). These identified CCVs affect a total amount of digital assets worth 1,885,250 USD.

Autores: Zeqin Liao, Yuhong Nan, Henglong Liang, Sicheng Hao, Juan Zhai, Jiajing Wu, Zibin Zheng

Última atualização: 2024-06-22 00:00:00

Idioma: English

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

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

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