A Human-in-the-Loop Framework for Detecting Logical Vulnerabilities in Smart Contracts
Questo articolo propone un framework Human-in-the-Loop che combina l'analisi automatizzata con la revisione umana mirata per rilevare vulnerabilità logiche negli smart contract, dimostrando miglioramenti significativi in precisione e F1-score pur riducendo i falsi positivi sul dataset SmartBugs Curated.
Articolo originale sotto licenza CC BY 4.0 (https://creativecommons.org/licenses/by/4.0/). Questa è una spiegazione generata dall'IA dell'articolo qui sotto. Non è stata scritta né approvata dall'autore. Per precisione tecnica, consulta l'articolo originale. Leggi il disclaimer completo
Nel mondo digitale, una blockchain è un registro condiviso che molti computer mantengono sincronizzato, garantendo che nessun singolo individuo possa alterare il passato. Al cuore di questo sistema risiede un protocollo di consenso, un insieme di regole che permette a questi computer separati di concordare su ciò che è vero senza la necessità di un capo centrale. Sopra questa fondamenta, gli sviluppatori scrivono smart contract, ovvero programmi auto-eseguibili che portano a termine automaticamente accordi, come il trasferimento di denaro o la gestione di asset, una volta soddisfatte specifiche condizioni. Sebbene queste tecnologie promettano una nuova era di fiducia e automazione, non sono immuni dal fallimento. Proprio come una serratura fisica può essere scassinata o un edificio può presentare un difetto strutturale, il codice dietro questi sistemi può contenere errori nascosti. Alcuni di questi errori sono errori evidenti nel codice, ma i più pericolosi sono le vulnerabilità logiche. Queste non sono refusi o errori di sintassi; sono difetti nel piano effettivo o nella logica di business, dove il codice fa esattamente ciò che gli è stato ordinato di fare, ma le istruzioni stesse erano errate. Poiché questi errori dipendono fortemente dallo scopo specifico del programma, sono notoriamente difficili da individuare per i computer in autonomia.
Un team di ricerca guidato da Alireza Assadzadeh presso l'Università Islamica Azad, filiale di Tabriz, ha proposto un modo per risolvere questo problema specifico riportando un essere umano nel processo. I ricercatori sostengono che, mentre gli strumenti automatizzati sono eccellenti nel scansionare il codice alla ricerca di pattern noti, essi faticano con gli errori sottili e dipendenti dal contesto che definiscono le vulnerabilità logiche. Per affrontare ciò, hanno progettato un framework chiamato Human-in-the-Loop, che funge da partnership tra uno scanner automatizzato veloce e un esperto umano attento. Il sistema opera per fasi. Per prima cosa, uno strumento automatizzato scansiona uno smart contract e segnala potenziali problemi, assegnando a ogni avviso un punteggio di confidenza che indica quanto lo strumento sia sicuro del problema. Invece di mostrare ogni singolo avviso a un essere umano, il che sarebbe travolgente, il sistema filtra l'elenco. Esso passa all'esperto umano solo gli avvisi con un alto punteggio di confidenza per un esame finale. L'esperto esamina quindi questi casi specifici, decidendo se si tratti di minacce reali o falsi allarmi. Questo approccio mira a mantenere la velocità delle macchine aggiungendo al contempo la sfumatura del giudizio umano.
Per testare se questo metodo funzioni effettivamente, i ricercatori hanno condotto esperimenti utilizzando una collezione di 143 smart contract che erano già noti per contenere vari tipi di falle di sicurezza. Hanno simulato il comportamento di uno scanner automatizzato standard e poi hanno applicato il loro nuovo processo di filtraggio e revisione. I risultati hanno mostrato un chiaro miglioramento dell'accuratezza. Quando ci si affidava esclusivamente allo strumento automatizzato, il sistema identificava correttamente i problemi reali, ma generava anche molti falsi allarmi, portando a un punteggio di precisione di circa 0,71. La precisione, in questo contesto, misura quanti dei problemi segnalati fossero effettivamente problemi reali. Dopo l'introduzione della fase di revisione umana, la precisione è balzata a circa 0,84. Ciò significa che il numero di falsi allarmi è diminuito di oltre la metà, precisamente del 52,2 percento, mentre il sistema non ha mancato nemmeno una singola vulnerabilità reale che la macchina aveva originariamente trovato. Anche la misura complessiva dell'efficacia del sistema, nota come F1-score, è salita da circa 0,83 a 0,91.
Lo studio suggerisce che questo approccio ibrido offre una soluzione pratica a un problema persistente nella sicurezza della blockchain. Lasciando che un esperto umano gestisca solo i candidati più probabili, il sistema riduce il carico di lavoro aumentando significativamente la fiducia nei risultati. I ricercatori osservano che questo è particolarmente importante per le vulnerabilità logiche, che spesso richiedono una comprensione delle regole di business previste piuttosto che un semplice controllo della struttura del codice. Sebbene i risultati si basino su una simulazione controllata utilizzando dati esistenti piuttosto che su un deployment live su una grande rete, i risultati indicano che integrare l'esperienza umana può migliorare significativamente l'affidabilità nel rilevare questi errori complessi. Il lavoro punta verso un futuro in cui la sicurezza delle applicazioni decentralizzate comporti non solo software migliori, ma una collaborazione strutturata tra strumenti automatizzati e intuito umano.
Sommerso dagli articoli nel tuo campo?
Ricevi digest giornalieri degli articoli più recenti corrispondenti alle tue parole chiave di ricerca — con riassunti tecnici, nella tua lingua.