A Human-in-the-Loop Framework for Detecting Logical Vulnerabilities in Smart Contracts
Dieses Paper schlägt ein Human-in-the-Loop-Framework vor, das automatisierte Analyse mit gezielter menschlicher Überprüfung kombiniert, um logische Schwachstellen in Smart Contracts zu erkennen, wobei es signifikante Verbesserungen der Präzision und des F1-Scores demonstriert und gleichzeitig die Anzahl der falsch-positiven Ergebnisse auf dem SmartBugs Curated Datensatz reduziert.
Originalarbeit lizenziert unter CC BY 4.0 (https://creativecommons.org/licenses/by/4.0/). Dies ist eine KI-generierte Erklärung des untenstehenden Papers. Sie wurde nicht vom Autor verfasst oder gebilligt. Für technische Genauigkeit konsultieren Sie das Originalpaper. Vollständigen Haftungsausschluss lesen
In der digitalen Welt ist eine Blockchain ein gemeinsames Registerbuch, das viele Computer synchron halten, um sicherzustellen, dass keine einzelne Person die Vergangenheit ändern kann. Das Herzstück dieses Systems ist ein Konsensprotokoll, ein Satz von Regeln, der es diesen separaten Computern ermöglicht, sich über die Wahrheit zu einigen, ohne einen zentralen Chef zu benötigen. Auf diesem Fundament schreiben Entwickler Smart Contracts, also selbstausführende Programme, die Vereinbarungen wie Geldtransfers oder die Verwaltung von Vermögenswerten automatisch ausführen, sobald bestimmte Bedingungen erfüllt sind. Während diese Technologien eine neue Ära des Vertrauens und der Automatisierung versprechen, sind sie nicht immun gegen Fehler. Genau wie ein physisches Schloss geknackt werden kann oder ein Gebäude einen strukturellen Mangel aufweisen kann, können auch die hinter diesen Systemen stehenden Codes verborgene Fehler enthalten. Einige dieser Fehler sind offensichtliche Programmierfehler, aber die gefährlichsten sind logische Schwachstellen. Dies sind keine Tippfehler oder Syntaxfehler; es sind Mängel im eigentlichen Plan oder in der Geschäftslogik, bei denen der Code genau das tut, was ihm gesagt wurde, aber die Anweisungen selbst falsch waren. Da diese Fehler stark vom spezifischen Zweck des Programms abhängen, sind sie für Computer äußerst schwer selbstständig zu erkennen.
Ein Forschungsteam unter der Leitung von Alireza Assadzadeh an der Islamic Azad University Tabriz Branch hat einen Weg vorgeschlagen, um dieses spezifische Problem zu lösen, indem es einen Menschen zurück in den Prozess bringt. Die Forscher argumentieren, dass automatisierte Werkzeuge zwar hervorragend darin sind, Code nach bekannten Mustern zu scannen, aber Schwierigkeiten mit den subtilen, kontextabhängigen Fehlern haben, die logische Schwachstellen definieren. Um dies zu adressieren, entwarfen sie ein Framework namens „Human-in-the-Loop“, das eine Partnerschaft zwischen einem schnellen, automatisierten Scanner und einem sorgfältigen menschlichen Experten darstellt. Das System arbeitet in Phasen. Zuerst scannt ein automatisiertes Tool einen Smart Contract und markiert potenzielle Probleme, wobei jedem Warnhinweis ein Konfidenzwert zugewiesen wird, der angibt, wie sicher sich das Tool bezüglich des Problems ist. Anstatt dem Menschen jeden einzelnen Warnhinweis anzuzeigen, was überwältigend wäre, filtert das System die Liste. Es leitet nur die Warnungen mit einem hohen Konfidenzwert zur abschließenden Prüfung an den menschlichen Experten weiter. Der Experte überprüft dann diese spezifischen Fälle und entscheidet, ob es sich um echte Bedrohungen oder Fehlalarme handelt. Dieser Ansatz zielt darauf ab, die Geschwindigkeit von Maschinen mit der Nuancierung menschlichen Urteilsvermögens zu verbinden.
Um zu testen, ob diese Methode tatsächlich funktioniert, führten die Forscher Experimente mit einer Sammlung von 143 Smart Contracts durch, die bereits für verschiedene Arten von Sicherheitsmängeln bekannt waren. Sie simulierten das Verhalten eines Standard-automatisierten Scanners und wandten dann ihren neuen Filter- und Überprüfungsprozess an. Die Ergebnisse zeigten eine klare Verbesserung der Genauigkeit. Wenn man sich ausschließlich auf das automatisierte Tool verließ, identifizierte das System korrekte Probleme, löste aber auch viele Fehlalarme aus, was zu einem Präzisionswert von etwa 0,71 führte. Präzision misst in diesem Kontext, wie viele der gemeldeten Probleme tatsächlich reale Probleme waren. Nach der Einführung des menschlichen Überarbeitungsschritts sprang die Präzision auf etwa 0,84. Das bedeutet, dass die Anzahl der Fehlalarme um mehr als die Hälfte sank, spezifisch um 52,2 Prozent, während das System keine einzige reale Schwachstelle übersah, die die Maschine ursprünglich gefunden hatte. Das Gesamtmaß der Effektivität des Systems, bekannt als F1-Score, stieg ebenfalls von etwa 0,83 auf 0,91.
Die Studie legt nahe, dass dieser hybride Ansatz eine praktische Lösung für ein hartnäckiges Problem der Blockchain-Sicherheit bietet. Indem ein menschlicher Experte nur die wahrscheinlichsten Kandidaten bearbeitet, reduziert das System die Arbeitsbelastung und erhöht gleichzeitig signifikant das Vertrauen in die Ergebnisse. Die Forscher merken an, dass dies besonders wichtig für logische Schwachstellen ist, die oft ein Verständnis der beabsichtigten Geschäftsregeln erfordern und nicht nur eine Überprüfung der Codestruktur. Obwohl die Ergebnisse auf einer kontrollierten Simulation mit bestehenden Daten basieren und nicht auf einer Live-Implementierung in einem großen Netzwerk, deuten die Resultate darauf hin, dass die Integration menschlicher Expertise die Zuverlässigkeit bei der Erkennung dieser komplexen Fehler maßgeblich verbessern kann. Die Arbeit weist den Weg in eine Zukunft, in der die Sicherung dezentraler Anwendungen nicht nur bessere Software, sondern eine strukturierte Zusammenarbeit zwischen automatisierten Tools und menschlicher Einsicht erfordert.
Ertrinken Sie in Arbeiten in Ihrem Fachgebiet?
Erhalten Sie tägliche Digests der neuesten Arbeiten passend zu Ihren Forschungsbegriffen — mit technischen Zusammenfassungen, in Ihrer Sprache.