Unsere kurze Analyse der Schwachstelle des Profanity-Tools

Erforschung der Rolle des Profanity-Tools bei Wintermutess Krypto-Schwachstelle in Höhe von 160 Millionen US-Dollar

Unsere kurze Analyse der Schwachstelle des Profanity-Tools

Der Wintermute-Exploit führte zu einem Verlust von mehr als 160 Millionen US-Dollar. Die Hauptursache ist, dass der private Schlüssel des Wintermute-Projekts aufgrund einer Schwachstelle in Profanity kompromittiert wurde, einem Tool, das von Wintermute zur Generierung des privaten Schlüssels und des Ethereum-Kontos verwendet wurde.

In diesem Blogbeitrag beschreiben wir die Grundursache der Schwachstelle in Profanity und wie sie ausgenutzt werden kann.

Die Ethereum-Adresse

Die Ethereum-Adresse wird aus dem Keccak-256-Hash des öffentlichen Schlüssels generiert und als Hexadezimalzahl dargestellt. Der öffentliche Schlüssel wird mit elliptischer Kurvenmultiplikation aus dem privaten Schlüssel generiert, was irreversibel ist. Wir können aus einem privaten Schlüssel einen öffentlichen Schlüssel erhalten. Jedoch können wir ohne Brute-Force keinen privaten Schlüssel aus einem öffentlichen Schlüssel erhalten. Beachten Sie, dass die Länge des privaten Schlüssels 256 Bit beträgt. Bei einem gegebenen öffentlichen Schlüssel benötigen Sie höchstens $2^{256}$ Berechnungen, um den entsprechenden privaten Schlüssel zu finden.

Kurz gesagt, die Beziehung zwischen dem privaten/öffentlichen Schlüssel und der Ethereum-Adresse wird in der folgenden Abbildung gezeigt.

Die Grundursache der Schwachstelle

Der Zweck von Profanity ist es, eine spezielle Ethereum-Adresse zu finden, z. B. eine Adresse, deren fünf führende Ziffern null sind. Zu diesem Zweck verwendet Profanity die folgende Methode.

Die detaillierte Implementierung kann leicht abweichen.

Beachten Sie, dass die Länge von private_key 256 Bit beträgt ( $2^{256}$ verschiedene Werte). Es gibt jedoch eine Schwachstelle bei der Generierung des privaten Schlüssels. Genauer gesagt, der Seed (in Schritt 1) ist nur 32 Bit lang, und der Prozess vom Seed in Schritt 1 zum private_key in Schritt 2 ist deterministisch.

Was sind hier die Sicherheitsauswirkungen?

Wie man ausnutzt

Nehmen wir an, wir haben eine Ethereum-Adresse mit vielen wertvollen Assets. Wenn wir den privaten Schlüssel erhalten können, können wir dieses Konto übernehmen und alle Assets abheben. Wie bereits erwähnt, müssen wir jedoch den gesamten $2^{256}$ Bereich durchsuchen, um den privaten Schlüssel zu finden, was fast unmöglich ist.

Aber was, wenn die Ethereum-Adresse mit dem Profanity-Tool generiert wurde? Wir können mit einer viel geringeren Schwierigkeit nach dem privaten Schlüssel suchen. Wir müssen lediglich den Seed von 0 bis $2^{32}-1$ angeben und denselben Prozess wiederholen, bis wir den privaten Schlüssel gefunden haben, der denselben öffentlichen Schlüssel (und dieselbe Ethereum-Adresse) generieren kann. Da wir höchstens $2^{32}$ * Loop-Schwellenwert Berechnungen benötigen, ist dies in ein paar Stunden oder Tagen/Wochen machbar, wenn wir einen leistungsstarken GPU-Cluster haben.

Dies ist jedoch immer noch ein optimierter Algorithmus. Für weitere Details können Sie sich auf den Artikel von Slowmist beziehen.

Fazit

Die Sicherheit eines DeFi-Projekts ist keine einfache Aufgabe. Neben der Code-Prüfung sind wir der Meinung, dass die Community proaktiv den Projektstatus überwachen und den Angriff blockieren sollte, bevor er überhaupt stattfindet.

Über BlockSec

BlockSec ist ein führendes Blockchain-Sicherheitsunternehmen, das 2021 von einer Gruppe weltweit anerkannter Sicherheitsexperten gegründet wurde. Das Unternehmen engagiert sich für die Verbesserung der Sicherheit und Benutzerfreundlichkeit der aufstrebenden Web3-Welt, um deren Massenakzeptanz zu fördern. Zu diesem Zweck bietet BlockSec Sicherheitsaudits für Smart Contracts und EVM-Chains, die Phalcon-Plattform für Sicherheitsentwicklung und proaktive Bedrohungsabwehr, die MetaSleuth-Plattform für die Nachverfolgung von Geldern und Ermittlungen sowie die MetaSuites-Erweiterung für Web3-Entwickler, um effizient in der Krypto-Welt zu surfen.

Bis heute hat das Unternehmen über 300 angesehene Kunden wie MetaMask, Uniswap Foundation, Compound, Forta und PancakeSwap betreut und in zwei Finanzierungsrunden von namhaften Investoren, darunter Matrix Partners, Vitalbridge Capital und Fenbushi Capital, Millionen von US-Dollar erhalten.

Offizielle Website: https://blocksec.com/ Offizieller Twitter-Account: https://twitter.com/BlockSecTeam

Sign up for the latest updates