Insecurity Through Obscurity: Veiled Vulnerabilities in Closed-Source Contracts
Dieses Paper stellt SKANF vor, ein neuartiges Werkzeug zur Analyse von EVM-Bytecode, das aufzeigt, wie Code-Obfuskation in Closed-Source-Smart-Contracts Schwachstellen oft eher verbirgt als verhindert, wobei es erfolgreich Fehler in über 1.000 realen MEV-Bots nachwies und Exploits mit einem potenziellen Wert von 10,6 Millionen US-Dollar generierte.
Originalarbeit lizenziert unter CC BY 4.0 (http://creativecommons.org/licenses/by/4.0/). Dies ist eine KI-generierte Erklärung des untenstehenden Papers. Sie wurde nicht von den Autoren verfasst oder gebilligt. Für technische Genauigkeit konsultieren Sie das Originalpaper. Vollständigen Haftungsausschluss lesen
Stellen Sie sich die Blockchain (wie Ethereum) als ein riesiges, öffentliches Glashaus vor. In diesem Haus kann jeder die Baupläne jeder Maschine (Smart Contract) sehen, die dort läuft. Normale Weise ist das eine gute Sache, denn es bedeutet, dass niemand eine Falle verstecken kann. Aber einige Maschinenerbauer entscheiden sich dafür, ihre Baupläne in Schichten aus Nebel zu hüllen, die Diagramme überzustreichen oder geheime Gänge zu bauen, die nur sie selbst zu navigieren wissen. Sie tun dies, um ihre Geschäftsgeheimnisse zu schützen oder um zu verhindern, dass Menschen ihre Ideen stehlen.
Das Papier „Insecurity Through Obscurity“ argumentet, dass diese Erbauer zwar glauben, ihre Maschinen sicherer zu machen, indem sie sie verstecken, sie aber in Wirklichkeit gefährlicher machen. Indem sie die Baupläne verbergen, verstecken sie versehentlich auch die kaputten Schlösser und offenen Fenster.
Hier ist eine einfache Aufschlüsselung dessen, was die Forscher getan und herausgefunden haben:
1. Das Problem: „Die Schlüssel verstecken“
Den Forschern fiel auf, dass viele der aktivsten Maschinen in diesem Glashaus „Closed-Source“ sind (keine Baupläne verfügbar) und „obfuskiert“ (der Code ist verschleiert).
- Die Analogie: Stellen Sie sich einen Banktresor vor, bei dem der Sicherheitswachmann eine Augenbinde trägt und das Alarmsystem in einem Geheimcode geschrieben ist. Der Besitzer der Bank denkt: „Wenn niemand den Code lesen kann, kann ihn auch niemand hacken!“
- Die Realität: Weil der Code so chaotisch ist, können selbst die eigenen Sicherheitsexperten der Bank nicht sehen, dass die Tresortür eigentlich weit offen steht. Die „Obscurity“ (Verdeckung) erzeugt „Insecurity“ (Unsicherheit).
2. Das Werkzeug: „Der Nebel-Lösungs-Roboter“ (skanf)
Die Autoren entwickelten ein neues Werkzeug namens skanf (benannt nach den vier Forschern: Sen, Kaihua, Aviv und Fan). Betrachten Sie skanf als einen hochmodernen Roboter, der mit einer speziellen Taschenlampe und einem Dekodierring ausgestattet ist.
- Schritt 1: Den Nebel lichten (Deobfuskation): Der Roboter scannt den verschleierten Code. Er weiß, dass in dieser spezifischen Art von Maschine (EVM) jede geheime Tür ein spezifisches „Betreten verboten“-Schild (genannt
JUMPDEST) haben muss. Der Roboter findet all diese Schilder und zeichnet die Karte neu, indem er die geheimen, gewundenen Pfade in eine klare, gerade Linie verwandelt. Plötzlich sind die verborgenen Türen sichtbar. - Schritt 2: Die Geschichte als Leitfaden nutzen (Seeded Execution): Der Roboter rät nicht einfach, wie die Maschine funktioniert. Er schaut sich das vergangene Verhalten der Maschine (historische Transaktionen) an, um zu sehen, wohin sie normalerweise geht. Er nutzt diese vergangenen Fahrten als „Seeds“ (Startwerte), um seine Erkundung zu leiten, was ihm hilft, gefährliche Pfade viel schneller zu finden als ein Roboter, der im Dunkeln rät.
- Schritt 3: Die Testfahrt (Exploit-Generierung): Sobald der Roboter ein kaputtes Schloss (eine Schwachstelle) findet, meldet er es nicht nur. Er baut tatsächlich einen „Schlüssel“ (einen Exploit), um zu versuchen, die Tür zu öffnen. Wenn der Schlüssel funktioniert, beweist dies, dass die Maschine wirklich verwundbar ist.
3. Das Testfeld: MEV-Bots
Um ihren Roboter zu testen, untersuchten die Forscher MEV-Bots.
- Die Analogie: Stellen Sie sich eine Flotte von Hochgeschwindigkeits-Rennwagen (Bots) vor, die auf einer Rennstrecke (der Blockchain) herumfahren und nach winzigen Lücken im Verkehr suchen, um hindurchzuschlüpfen und einen schnellen Profit zu machen. Diese Autos sind sehr schnell, bewegen riesige Mengen Geld und ihre Fahrer (Searcher) halten die Funktionsweise ihrer Motoren sehr geheim.
- Warum sie diese wählten: Diese Bots sind oft Closed-Source und verschleiert, was sie zu den perfekten Testobjekten für ein Werkzeug macht, das in der Lage ist, durch den Nebel zu sehen.
4. Die Ergebnisse: Viele offene Türen
Die Ergebnisse waren erschütternd:
- Der Scan: Der Roboter scannte 6.554 dieser Rennwagen.
- Die Entdeckung: Er fand heraus, dass 1.030 von ihnen kaputte Schlösser (Schwachstellen) hatten, die Diebe dazu bringen könnten, ihren Treibstoff (Krypto-Assets) zu stehlen.
- Der Beweis: Der Roboter baute erfolgreich funktionierende Schlüssel für 394 dieser Autos.
- Die Kosten: Wenn ein Dieb diese Schlüssel benutzt hätte, hätte er über 10,6 Millionen Dollar stehlen können.
5. Realer Beweis: Die „Phishing“-Falle
Die Forscher blickten auch in die Vergangenheit, um zu sehen, ob bereits jemand von diesen Autos gestohlen hat.
- Der Angriff: Sie fanden 104 reale Diebstähle. Die Diebe nutzten einen cleveren Trick namens „MEV Phishing“.
- Wie es funktioniert: Stellen Sie sich vor, ein Dieb lässt einen falschen, glänzenden Goldbarren (eine falsche Gelegenheit) auf der Rennstrecke liegen. Der Rennwagenfahrer sieht ihn, denkt, es sei ein großartiger Gewinn, und fährt darüber, um ihn aufzuheben. Aber der Goldbarren ist in Wirklichkeit eine Falltür. Wenn der Wagen darüberfährt, öffnet sich die Falltür und der Dieb stiehlt den Treibstoff des Wagens.
- Der Verlust: Diese realen Diebstähle haben den Fahrern bereits etwa 2,76 Millionen Dollar gekostet.
- Die verpasste Chance: Die Forscher fanden heraus, dass ihr Roboter (skanf) die kaputten Schlösser in den meisten dieser gestohlenen Autos vor dem Diebstahl hätte erkennen können.
6. Das Fazit
Das Papier kommt zu dem Schluss, dass das Verbergen Ihres Codes Sie nicht sicherer macht; es macht es nur schwieriger, Ihre eigenen Fehler zu erkennen.
- Für die Erbauer: Wenn Sie eine Maschine bauen, die Geld enthält, müssen Sie in der Lage sein, Ihre eigenen Baupläne klar zu sehen. Das Verbergen der Pläne mag Ihre Geheimnisse schützen, aber es lässt Ihr Geld ungeschützt.
- Die Kernbotschaft: Die Forscher haben gezeigt, dass wir mit den richtigen Werkzeugen (wie skanf) den Nebel lichten, die kaputten Schlösser finden und sie reparieren können, bevor die Diebe eintreffen.
Kurz gesagt: Verstecken Sie Ihre Sicherheitsmängel nicht in der Dunkelheit; werfen Sie ein Licht darauf, damit Sie sie beheben können.
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.