A Human-in-the-Loop Framework for Detecting Logical Vulnerabilities in Smart Contracts
Dit artikel stelt een Human-in-the-Loop-framework voor dat geautomatiseerde analyse combineert met gerichte menselijke beoordeling om logische kwetsbaarheden in smart contracts te detecteren, waarbij significante verbeteringen in precisie en F1-score worden aangetoond terwijl het aantal fout-positieven op de SmartBugs Curated-dataset wordt verminderd.
Oorspronkelijk artikel gelicentieerd onder CC BY 4.0 (https://creativecommons.org/licenses/by/4.0/). Dit is een AI-gegenereerde uitleg van het onderstaande artikel. Het is niet geschreven of goedgekeurd door de auteur. Raadpleeg het oorspronkelijke artikel voor technische nauwkeurigheid. Lees de volledige disclaimer
In de digitale wereld is een blockchain een gedeeld grootboek dat door veel computers synchroon wordt gehouden, wat ervoor zorgt dat niemand het verleden kan wijzigen. In het hart van dit systeem ligt een consensusprotocol, een set regels waarmee deze afzonderlijke computers het eens kunnen worden over wat waar is zonder dat er een centrale baas nodig is. Bovenop dit fundament schrijven ontwikkelaars smart contracts, wat zelfuitvoerende programma's zijn die automatisch overeenkomsten uitvoeren, zoals het overboeken van geld of het beheren van activa, zodra aan specifieke voorwaarden is voldaan. Hoewel deze technologieën een nieuw tijdperk van vertrouwen en automatisering beloven, zijn ze niet immuun voor falen. Net zoals een fysiek slot gepikt kan worden of een gebouw een constructiefout kan hebben, kan de code achter deze systemen verborgen fouten bevatten. Sommige van deze fouten zijn overduidelijke typefouten in de code, maar de gevaarlijkste zijn logische kwetsbaarheden. Dit zijn geen typefouten of foutieve syntaxis; het zijn gebreken in het eigenlijke plan of de bedrijfslogica, waarbij de code precies doet wat hem is verteld, maar de instructies zelf fout waren. Omdat deze fouten sterk afhangen van het specifieke doel van het programma, zijn ze voor computers berucht moeilijk om zelfstandig te ontdekken.
Een onderzoeksteam onder leiding van Alireza Assadzadeh aan de Islamic Azad University Tabriz Branch heeft een manier voorgesteld om dit specifieke probleem op te lossen door een mens terug in het proces te brengen. De onderzoekers stellen dat hoewel geautomatiseerde tools uitstekend zijn in het scannen van code op bekende patronen, ze moeite hebben met de subtiele, contextafhankelijke fouten die logische kwetsbaarheden definiëren. Om dit aan te pakken, ontwierpen zij een framework genaamd Human-in-the-Loop, dat fungeert als een partnerschap tussen een snelle, geautomatiseerde scanner en een zorgvuldige menselijke expert. Het systeem werkt in fasen. Eerst scant een geautomatiseerd hulpmiddel een smart contract en markeert potentiële problemen, waarbij aan elke waarschuwing een betrouwbaarheidsscore wordt toegekend die aangeeft hoe zeker het hulpmiddel over het probleem is. In plaats van elke enkele waarschuwing aan een mens te tonen, wat overweldigend zou zijn, filtert het systeem de lijst. Het geeft alleen de waarschuwingen met een hoge betrouwbaarheidsscore door aan de menselijke expert voor een laatste controle. De expert beoordeelt vervolgens deze specifieke gevallen en beslist of het echte dreigingen of valse alarmen zijn. Deze aanpak heeft tot doel de snelheid van machines te behouden terwijl de nuance van menselijk oordeel wordt toegevoegd.
Om te testen of deze methode daadwerkelijk werkt, voerden de onderzoekers experimenten uit met een collectie van 143 smart contracts die al bekend stonden te staan om diverse soorten beveiligingsfouten. Ze simuleerden het gedrag van een standaard geautomatiseerde scanner en pasten vervolgens hun nieuwe filter- en beoordelingsproces toe. De resultaten lieten een duidelijke verbetering in nauwkeurigheid zien. Wanneer er uitsluitend op het geautomatiseerde hulpmiddel werd vertrouwd, identificeerde het systeem de echte problemen correct, maar gaf het ook veel valse alarmen, wat leidde tot een precisiescore van ongeveer 0,71. Precisie meet in deze context hoeveel van de gemarkeerde kwesties daadwerkelijk echte problemen waren. Na het introduceren van de menselijke beoordelingsstap steeg de precisie naar ongeveer 0,84. Dit betekent dat het aantal valse alarmen met meer dan de helft is gedaald, specifelijk met 52,2 procent, terwijl het systeem geen enkele echte kwetsbaarheid miste die de machine oorspronkelijk had gevonden. De algemene maat voor de effectiviteit van het systeem, de F1-score genoemd, steeg ook van ongeveer 0,83 naar 0,91.
De studie suggereert dat deze hybride aanpak een praktische oplossing biedt voor een hardnekkig probleem in blockchain-beveiliging. Door een menselijke expert alleen de meest waarschijnlijke kandidaten te laten afhandelen, vermindert het systeem de werklast terwijl het de betrouwbaarheid van de resultaten aanzienlijk vergroot. De onderzoekers merken op dat dit bijzonder belangrijk is voor logische kwetsbaarheden, die vaak een begrip vereisen van de beoogde bedrijfsregels in plaats van alleen een controle van de structuur van de code. Hoewel de bevindingen gebaseerd zijn op een gecontroleerde simulatie met bestaande gegevens in plaats van een live implementatie op een groot netwerk, wijzen de resultaten erop dat het integreren van menselijke expertise de betrouwbaarheid van het detecteren van deze complexe fouten betekenisvol kan verbeteren. Het werk wijst naar een toekomst waarin het beveiligen van gedecentraliseerde applicaties niet alleen draait om betere software, maar om een gestructureerde samenwerking tussen geautomatiseerde tools en menselijk inzicht.
Verdrinkt u in papers in uw vakgebied?
Ontvang dagelijkse digests van de nieuwste papers die bij uw onderzoekswoorden passen — met technische samenvattingen, in uw taal.