Simple Science

Scienza all'avanguardia spiegata semplicemente

# Informatica# Crittografia e sicurezza

Nuove strategie per proteggere i contratti smart dagli attacchi

Questo articolo parla dei progressi nella protezione dei contratti smart contro le vulnerabilità e le perdite finanziarie.

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

― 7 leggere min


Proteggere i ContrattiProteggere i ContrattiSmart dagli Attacchivulnerabilità.contratti intelligenti daStrategie avanzate per proteggere i
Indice

Negli ultimi anni, l'uso dei contratti smart sulle piattaforme blockchain è aumentato notevolmente. I contratti smart sono programmi autonomi che girano su una blockchain e fanno rispettare automaticamente i termini di un accordo. Tuttavia, questa crescita ha portato a un serio svantaggio: molti contratti smart hanno vulnerabilità che possono causare ingenti perdite finanziarie, spesso arrivando a miliardi di dollari.

Panoramica del Problema

Gli attaccanti sfruttano le debolezze nei contratti smart per rubare fondi. Hanno sviluppato trucci per bypassare le difese, e questi trucchi si chiamano "frontrunning." Il frontrunning avviene quando un attore malintenzionato osserva una transazione prima che venga ufficialmente registrata sulla blockchain, permettendogli di inserire la propria transazione davanti a essa per ottenere un vantaggio. Anche se sono stati progettati approcci per proteggere da questi attacchi, spesso non funzionano nelle applicazioni reali.

Questo articolo esplora i limiti delle protezioni attuali contro il frontrunning e presenta nuove strategie per aiutare a prevenire la perdita di beni.

Lo Stato Attuale degli Attacchi ai Contratti Smart

Per capire come avvengono questi attacchi, dobbiamo esaminare casi recenti. I ricercatori hanno raccolto dati su vari attacchi e valutato come sono stati condotti. Dall'analisi di 158 transazioni attaccate, è emerso che un numero significativo è riuscito a bypassare le protezioni attuali.

Limiti delle Difese Esistenti

Molte difese attuali si basano pesantemente sul monitoraggio delle transazioni in attesa nel "Mempool," un'area di attesa per le transazioni prima che vengano aggiunte alla blockchain. Tuttavia, gli attaccanti spesso usano transazioni private per nascondere le proprie azioni. Questo limita l'efficacia delle difese convenzionali, che spesso falliscono nel catturare gli attacchi in tempo.

Inoltre, quando sia gli attaccanti che i difensori cercano di superarsi sugli prezzi del gas (la tassa pagata per l'elaborazione delle transazioni), aumenta il costo complessivo per tentare di recuperare i fondi. Di conseguenza, la maggior parte dei fondi che avrebbero potuto essere salvati spesso finisce per essere sprecata in commissioni di gas.

Nuove Strategie Difensive

Riconoscendo i difetti delle misure attuali, sono state sviluppate nuove strategie per contrastare gli attacchi. Il primo approccio consiste nel creare un metodo per identificare potenziali attacchi prima che si verifichino. Monitorando i contratti di sfruttamento, che sono i contratti che gli attaccanti implementano, diventa possibile ricevere segnali di avvertimento riguardo a un attacco imminente.

La seconda strategia si concentra sul risolvere i problemi dopo che l'attacco è già avvenuto. L'idea è di imparare dagli attacchi precedenti e sintetizzare contro-sfruttamenti per mirare a contratti simili che non sono stati ancora attaccati. Questo può aiutare a recuperare fondi persi attaccando gli sfruttatori o prevenendo future perdite.

Come Funzionano Queste Strategie

  1. Difesa Pre-Attacco: Usando le lezioni apprese dagli attacchi passati, il sistema identifica precocemente i contratti vulnerabili. Crea un meccanismo di difesa che mira a proteggere preventivamente questi contratti anticipando le mosse dell'attaccante. Questa posizione proattiva consente di agire rapidamente per prevenire perdite.

  2. Recupero Post-Attacco: Dopo che si verifica un attacco, il sistema può analizzare le azioni dell'attaccante. Utilizzando strumenti che replicano le azioni dell'attaccante, può mirare a nuove potenziali vittime. Questo processo consente di salvare fondi che altrimenti potrebbero andare persi.

Applicazione nel Mondo Reale

Questi nuovi approcci sono stati testati in scenari reali. In un breve periodo, le strategie sono riuscite a identificare e mitigare numerosi attacchi tentati. Migliaia di beni sono stati recuperati con successo in casi in cui le protezioni precedenti avevano fallito.

La Necessità di Una Maggiore Protezione

Il rapido ritmo dell'innovazione nei contratti smart significa che nuove vulnerabilità appaiano costantemente. Gli attaccanti trovano sempre nuovi modi per sfruttare le debolezze. Questo crea una continua necessità di misure protettive migliorate. Le difese devono evolversi per stare al passo con questi cambiamenti e proteggere beni preziosi nell'ambiente blockchain.

Comprendere i Contratti Smart

I contratti smart sono programmi automatizzati che operano su una blockchain. Si eseguono autonomamente quando vengono soddisfatte determinate condizioni, come il trasferimento di fondi tra le parti. Questo rende le transazioni più veloci e affidabili.

Tuttavia, questi contratti non sono infallibili. Possono essere soggetti a varie forme di sfruttamento, tra cui errori di codifica, vulnerabilità e mancanza di misure di sicurezza. Una volta che una vulnerabilità viene sfruttata, può portare a perdite finanziarie immediate e irreversibili.

Tecniche di Sfruttamento Comuni

Molti attacchi comuni mirano a specifiche debolezze all'interno dei contratti smart. Questi possono includere:

  • Attacchi di Reentrancy: Dove un attaccante sfrutta un contratto che consente più prelievi prima che un saldo venga aggiornato.

  • Overflow di Interi: Quando un calcolo supera il limite massimo di un tipo di dato, consentendo agli attaccanti di manipolare i valori a loro favore.

  • Mancanza di Controllo degli Accessi: Quando le funzioni all'interno di un contratto possono essere chiamate senza autorizzazione adeguata, consentendo a utenti non autorizzati di rubare o manipolare fondi.

Il Ruolo dei Token nella Blockchain

I token sono una parte significativa delle reti blockchain. Sono beni digitali definiti e gestiti da contratti smart e possono rappresentare una vasta gamma di valori, come valute o diritti.

La piattaforma Ethereum ha introdotto lo standard di token ERC-20, che fornisce un framework comune per la creazione di nuovi token. Questa standardizzazione consente a diversi token di interagire senza problemi con altri servizi blockchain, comprese le piattaforme di scambio e i wallet.

Market Maker Automatici (AMM) e Pool di Liquidità

Gli AMM, come Uniswap, consentono agli utenti di scambiare token senza bisogno di uno scambio centralizzato. Utilizzano pool di liquidità composti da due token, che sono bilanciati in base a domanda e offerta. Gli utenti possono guadagnare commissioni fornendo liquidità a questi pool, rendendoli una caratteristica essenziale della finanza decentralizzata (DeFi).

Tuttavia, possono anche essere un obiettivo per attacchi, specialmente se mancano di misure di sicurezza sufficienti.

Il Mempool e la Sua Importanza

Il mempool è un componente critico delle reti blockchain. Funziona come un'area di attesa temporanea per le transazioni in sospeso prima che vengano confermate. L'ordine delle transazioni nel mempool è cruciale, poiché i miner scelgono le transazioni in base al prezzo del gas offerto.

Comprendere come funziona il mempool può informare le strategie sia per attaccare che per difendersi. Gli attaccanti possono trovare opportunità da sfruttare mentre i difensori possono monitorare attività sospette.

Il Futuro della Sicurezza dei Contratti Smart

Poiché il panorama della tecnologia blockchain continua ad evolversi, le misure di sicurezza attorno ai contratti smart devono tenere il passo. Sfruttando nuovi approcci per prevedere e contrastare gli attacchi, sviluppatori e utenti possono proteggere i beni preziosi in modo più efficace.

Alcune direzioni potenziali per il lavoro futuro includono:

  • Migliorare le Strategie di Difesa Automatiche: Sviluppare metodi più sofisticati per identificare vulnerabilità e minacce nei contratti smart prima che vengano sfruttati.

  • Potenziare le Tecniche di Recupero: Innovare tecniche che consentano un recupero più rapido degli asset rubati dopo un attacco, riducendo la perdita finanziaria.

  • Analizzare i Modelli di Attacco: Studiare le metodologie impiegate dagli attaccanti per meglio anticipare minacce future e sviluppare contromisure.

Conclusione

L'ascesa dei contratti smart è stata accompagnata da un aumento corrispondente delle vulnerabilità e degli attacchi. Mentre le misure protettive attuali si sono rivelate inadeguate in molti casi reali, nuove strategie offrono speranza nella lotta contro queste attività malintenzionate. Concentrandosi su misure sia preventive che reattive, l'obiettivo è creare un ambiente più sicuro per la tecnologia blockchain.

In futuro, la collaborazione tra ricercatori, sviluppatori e utenti sarà essenziale per creare difese efficaci contro le vulnerabilità dei contratti smart. Solo con sforzi continui l'ecosistema blockchain può continuare a prosperare senza la costante minaccia di sfruttamento.

Fonte originale

Titolo: BACKRUNNER: Mitigating Smart Contract Attacks in the Real World

Estratto: 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.

Autori: 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

Ultimo aggiornamento: 2024-09-10 00:00:00

Lingua: English

URL di origine: https://arxiv.org/abs/2409.06213

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

Licenza: https://creativecommons.org/licenses/by/4.0/

Modifiche: Questa sintesi è stata creata con l'assistenza di AI e potrebbe presentare delle imprecisioni. Per informazioni accurate, consultare i documenti originali collegati qui.

Si ringrazia arxiv per l'utilizzo della sua interoperabilità ad accesso aperto.

Altro dagli autori

Articoli simili