← Neueste Arbeiten
💻 computer science

Malicious Code Detection in Smart Contracts via Opcode Vectorization

Dieses Paper schlägt einen auf maschinellem Lernen basierenden Ansatz zur Erkennung von bösartigem Code in Smart Contracts vor, indem Opcodes klassifiziert und vereinfacht werden, um anschließend die Effektivität von N-Gram- und TF-IDF-Vektorisierungsmethoden auf sowohl rohen als auch verarbeiteten Opcodes zu vergleichen, um die Merkmalsextraktion für das Training des Klassifizierers zu optimieren.

Ursprüngliche Autoren: Huanhuan Zou, Zongwei Li, Xiaoqi Li

Veröffentlicht 2026-02-03
📖 5 Min. Lesezeit🧠 Tiefgang

Ursprüngliche Autoren: Huanhuan Zou, Zongwei Li, Xiaoqi Li

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 als ein riesiges, öffentliches digitales Kassenbuch vor, in dem Menschen „Smart Contracts“ schreiben. Betrachten Sie diese Verträge nicht als juristische Dokumente, sondern als selbstlaufende Verkaufsautomaten. Sie werfen Geld ein, der Automat prüft die Regeln, und wenn alles korrekt ist, gibt er Ihnen einen Snack. Wenn der Code im Inneren des Automaten fehlerhaft ist oder eine versteckte Falle (schädlicher Code) enthält, könnten Sie Ihr Geld verlieren oder der Automat könnte komplett abstürzen.

Dieses Paper ist wie ein Team von Sicherheitswächtern, das versucht herauszufinden, wie man einen defekten oder manipulierten Verkaufsautomaten erkennt, bevor jemand zu Schaden kommt. Hier ist, wie sie es versucht haben, einfach erklärt:

1. Das Problem: Zu viele Sprachen

Smart Contracts werden in Code geschrieben, aber die Blockchain liest nicht die „englische“ Version (den Quellcode), die Menschen schreiben. Sie versteht nur eine sehr spezifische, robotische Sprache namens Opcodes.

  • Die Analogie: Stellen Sie sich vor, der Vertrag ist ein Rezept. Menschen lesen das Rezept auf Englisch („Zwei Tassen Mehl hinzufügen“). Die Blockchain hingegen versteht nur eine Liste chemischer Befehle („Mische Inhaltsstoff A mit Inhaltsstoff B“).
  • Das Problem: Es gibt hunderte dieser chemischen Befehle. Wenn man sie einfach wahllos auflistet, ist es für einen Computer schwer zu unterscheiden, ob es sich um ein sicheres Rezept oder ein vergiftetes handelt.

2. Die Lösung: Gruppieren und Zählen

Die Autoren beschlossen, einem Computer beizubringen, diese robotischen Befehle zu lesen, indem sie sie in eine einfache Liste von Zahlen (Vektoren) umwandeln. Dies geschah in drei Schritten:

  • Schritt A: Gruppierung der Befehle (Vereinfachung)
    Anstatt jeden einzelnen Befehl als einzigartig zu behandeln, gruppierten sie ähnliche Befehle zusammen.

    • Analogie: Stellen Sie sich vor, Sie haben 32 verschiedene Arten von „Drücken“-Knöpfen (Drücken1, Drücken2... Drücken32). Anstatt sich 32 verschiedene Knöpfe zu merken, entschieden die Autoren, sie alle einfach nur „Drücken“ zu nennen. Dies taten sie auch für andere Gruppen wie „Sprung“ oder „Mathematik“. Dies reduzierte das Rauschen und machte die Liste kürzer und leichter zu untersuchen.
  • Schritt B: Betrachten von Paaren (N-Gramm)
    Sie betrachteten nicht nur einzelne Befehle; sie betrachteten Paare von Befehlen, die direkt hintereinander vorkommen.

    • Analogie: Wenn Sie das Wort „Salz“ in einem Rezept sehen, ist das völlig normal. Aber wenn Sie unmittelbar nach „Salz“ das Wort „Gift“ sehen, ist das ein Warnsignal. Sie untersuchten diese Paare (wie „Drücken“ gefolgt von „Sprung“), um den Ablauf des Vertrags zu verstehen.
  • ** Schritt C: Gewichtung der Wichtigkeit (TF-IDF)**
    Sie nutzten einen mathematischen Trick, um herauszufinden, welche Paare tatsächlich wichtig waren.

    • Analogie: Wenn fast jedes sichere Rezept das Paar „Mischen dann Gießen“ verwendet, ist dieses Paar nicht besonders bedeutsam. Aber wenn ein bestimmtes Paar von Befehlen nur in den „vergifteten“ Rezepten vorkommt, ist dieses Paar ein riesiger Hinweis. Sie gaben den seltenen, verdächtigen Paaren hohe Punktzahlen und den häufigen Paaren niedrige Punktzahlen.

3. Das Experiment: Das Training der Detektive

Soblich sie die Verträge in diese nummerierten Listen umgewandelt hatten, speisten sie diese in fünf verschiedene „Detektiv“-Computer (Maschinelle Lernmodelle wie Decision Trees und Random Forests) ein, um zu sehen, ob diese die schlechten Verträge erkennen konnten.

  • Das Ergebnis: Sie probierten zwei Wege aus:
    1. Methode 1: Nur das Betrachten der rohen Liste von Befehlen.
    2. Methode 2: Das Betrachten der vereinfachten Paare und ihrer Wichtigkeitspunkte (die oben beschriebene Methode).
  • Das Ergebnis: Die zweite Methode (das Betrachten der Paare) funktionierte für einen spezifischen Detektiv (den Decision Tree) etwas besser, aber insgesamt waren die Ergebnisse gemischt.

4. Die große Hürde: Nicht genug schlechte Beispiele

Das größte Problem, dem die Autoren begegneten, war nicht die Mathematik, sondern die Daten.

  • Die Analogie: Stellen Sie sich vor, Sie versuchen, einem Hund beizubringen, einen Wolf zu erkennen. Sie zeigen dem Hund 500 Bilder von Schafen, aber Sie haben nur 80 Bilder von Wölfen.
  • Die Realität: In der realen Welt sind die meisten Smart Contracts sicher. Bösartige sind selten. Da sie nur eine winzige Anzahl an „schlechten“ Verträgen zum Studium hatten, wurden die Computermodelle verwirrt. Sie konnten das Muster eines „Wolfes“ nicht lernen, weil sie nicht genügend Bilder von Wölfen hatten, um sie mit den Schafen zu vergleichen.

5. Die Zukunft: Aufbau einer größeren Bibliothek

Die Autoren kommen zu dem Schluss, dass ihre Methode, die robotische Sprache der Smart Contracts in ein Format zu übersetzen, das Computer leicht vergleichen können, eine gute Idee ist, sie aber mehr Daten benötigen, um zu beweisen, dass sie perfekt funktioniert.

  • Was sie als Nächstes planen: Sie wollen einen Roboter (einen Web Crawler) bauen, der automatisch tausende von Verträgen aus dem Internet sammelt, um eine viel größere Bibliothek zu erstellen. Sie wollen auch versuchen, den Computer mithilfe von „unbeschrifteten“ (unlabeled) Verträgen zu lehren (bei denen der Computer selbst erraten muss, welche schlecht sind), da es so schwierig ist, so viele bekannte „schlechte“ Verträge zu finden.

Zusammenfassend lässt sich sagen:
Das Paper schlägt einen cleveren Weg vor, die robotische Sprache der Smart Contracts in ein Format zu übersetzen, das Computer leicht vergleichen können. Sie fanden heraus, dass das Betrachten von Befehlspaaren hilft, stießen aber auf eine Wand, weil es in der Welt schlichtweg zu wenige Beispiele für „schlechte“ Verträge gibt, um ihr System effektiv zu trainieren. Sie benötigen mehr Daten, bevor man ihrem Sicherheitswächter voll vertrauen kann.

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.

Digest testen →