Krypto-Hacker entwenden über $36 Millionen durch unbestätigte Verträge
Ein Krypto-Hacker, der im Januar $26 Millionen vom Ethereum-basierten Protokoll Truebit gestohlen hat, hatte laut der Blockchain-Analysefirma Chainalysis wahrscheinlich zuvor an kleineren Zielen geübt.
Ein jahrelang ungeschützter Vertrag
Der Angriff auf Truebit war der größte von vier Vorfällen, die Chainalysis in einem neuen Bericht über die letzten sechs Monate identifiziert hat. Diese Angriffe, die Truebit, Trusted Volumes, Aperture Finance und Ekubo betrafen, führten zu Verlusten von insgesamt etwa $37 Millionen. Alle diese Verluste sind auf Verträge zurückzuführen, deren Quellcode nie öffentlich auf Blockchain-Explorern verifiziert wurde.
Der Truebit-Vertrag existierte seit 2021 auf Ethereum. Er wurde mit Solidity v0.5.3 kompiliert, einer Version, die vor der Einführung automatischer Überlaufschutzmaßnahmen veröffentlicht wurde. Ein Angreifer entdeckte einen Integer-Überlauffehler im Bonding-Curve-Mechanismus und nutzte diesen aus, um große Mengen an Token zu minimalen Kosten zu erzeugen, bevor er sie in ETH umwandelte.
Warum nicht verifizierter Code ein Risiko darstellt
Verifizierte Verträge werden überprüft. Bug-Bounty-Jäger lesen sie. Unabhängige Forscher identifizieren Probleme, bevor Angreifer dies tun. Unverifizierte Verträge erhalten keine solche Prüfung, und viele Bug-Bounty-Programme schließen sie ausdrücklich von der Abdeckung aus. Das bedeutet, dass Schwachstellen jahrelang unentdeckt bleiben können, während Millionen von Dollar durch den betroffenen Code fließen.
Laut Chainalysis nutzen Angreifer nun diese Lücke aus. Jeder der vier kompromittierten Verträge hatte keinen öffentlich zugänglichen Quellcode. Stattdessen arbeiteten die Angreifer mit dekompiliertem Bytecode und verwandelten den rohen On-Chain-Code in lesbare Ausgaben mit Tools wie Dedaub, Heimdall und Panoramix.
Einmal dekompiliert, kann der Code in KI-Systeme eingespeist werden, die in der Lage sind, Wiedereintrittsfehler, arithmetische Fehler und Schwächen in der Zugriffskontrolle in einem Umfang zu erkennen, den kein menschlicher Prüfer erreichen könnte.
Die Summe von $36,7 Millionen ist nur ein Bruchteil der gesamten DeFi-Verluste im gleichen Zeitraum — Chainalysis schätzt den gesamten Diebstahl in diesen sechs Monaten auf über $1 Milliarde. Das Unternehmen argumentiert jedoch, dass das Problem der unverifizierten Verträge wachsen könnte, da automatisierte Analysetools günstiger und einfacher zu nutzen werden, was es Angreifern ermöglicht, eine große Anzahl inaktiver Verträge zu scannen und nach ihrer Ausbeutbarkeit zu bewerten.
Unterschiedliche Schwachstellen, aber ein gemeinsames Muster
Bei den vier Vorfällen unterschieden sich die spezifischen Schwachstellen. Berichten zufolge reichten die Schwächen von Integer-Überläufen und Fehlern in der Zugriffskontrolle bis hin zu Eingabevalidierungsfehlern und Identitätsüberprüfungsfehlern.
Gemeinsam war ihnen die gleiche Schutzlücke: kein öffentlicher Quellcode, keine externe Überprüfung und keine Echtzeitüberwachung, um ungewöhnliche Aktivitäten zu erkennen, bevor die Gelder verschwunden waren.
Chainalysis empfiehlt, dass Protokolle die Verifizierung des Quellcodes als grundlegende Anforderung für jeden Vertrag behandeln, der Benutzervermögen hält. Das Unternehmen betont auch, dass Audits und Bug-Bounty-Abdeckungen auf Implementierungsverträge ausgeweitet werden sollten, die hinter Proxy-Strukturen liegen — Komponenten, die oft unüberprüft bleiben, selbst wenn der vordergründige Vertrag verifiziert ist.

