Krypto News

Ein genauerer technischer Blick auf die neuesten DeFi-Hacks

Als die Gasgebühren von Ethereum während der Hausse 2021 auf Rekordhöhen anstiegen und viele dezentrale Finanzprotokolle (DeFi) für Gelegenheitsnutzer unbrauchbar wurden, mussten mehrere Projekte in anderen Ketten eingesetzt werden.

Dies führte zu einem enormen Anstieg der Nachfrage nach kettenübergreifenden Mechanismen – sogenannten Brücken –, die in der Lage sind, Benutzerressourcen sicher von einer Kette in eine andere zu übertragen. Cross-Chain-Brücken können im Allgemeinen in zentralisierte Custodial Bridges (CCB) und dezentralisierte Non-Custodial Bridges (DNCB) unterteilt werden.

Erwartungsgemäß führte die steigende Nachfrage nach Cross-Chain-Brücken zum Aufkommen einer neuen Welle von Protokollen mit unterschiedlichem Ruf. Da Cross-Chain-Bridges einen immer wertvoller werdenden Pool von Benutzer-Assets bedienten, war es nur eine Frage der Zeit, bis böswillige Akteure und Hacker dies bemerkten.

Im Allgemeinen werden Hacker DNCBs ins Visier nehmen, weil sie Mängel in Protokollen ausnutzen können, die von unerfahrenen Entwicklungsteams entwickelt wurden. Ein erfahrener Hacker kann leicht Fehler in der Logik oder Schlupflöcher ausnutzen, die in die Kryptographie und das Design eines schlecht entworfenen Protokolls eingebettet sind.

Dies bringt uns zum heutigen Tag: den Folgen mehrerer Angriffe auf Cross-Chain-Brücken. Ein weiteres schwarzes Auge in einer kampferprobten Industrie. Um es noch einmal zusammenzufassen, nur im Monat Juli 2021:

  • ChainSwap erlitt am 2. Juli einen Hack im Wert von etwa 800.000 US-Dollar an Benutzervermögen.
  • Die Liquiditätspools von AnySwap V3 erlitten am 10. Juli einen Hacker im Wert von fast 8 Millionen US-Dollar in USDC und MIM. AnySwap ist ein Cross-Chain-DEX, das vom Fusion Network betrieben wird.
  • ChainSwap erlitt einen weiteren Hack, nur 9 Tage nach dem ersten Hack. Diesmal im Wert von 4 Millionen US-Dollar an Benutzervermögen. ChainSwap ist eine von Alameda unterstützte Plattform, die Ethereum mit Binance Smart verbindet Chain.

Der Hauptzweck dieses Leitartikels besteht darin, zwei oft ignorierte, aber wichtige Elemente dezentraler Cross-Chain-Brücken relativ detailliert vorzustellen: Ableitung ‘R’.

Einige der ausgenutzten ChainSwap-Token beim Hack vom 2. Juli. CoinGecko

Der AnySwap Hack: Zwei ist nicht immer besser als eins

Berichten zufolge geschah der AnySwap-Hack, weil zwei separate Transaktionen mit demselben ‘R’-Wert signiert wurden. Der Hacker nutzte diese beiden Signaturen, um den privaten Schlüssel, der das Cross-Chain-MPC-Konto von AnySwap kontrolliert, zurückzuentwickeln und die Gelder der Benutzer zu stehlen.

Aber was genau ist ein „R“-Wert?

Was ist ‘R’ – die Achillesferse der Kontosicherheit

Eine der ersten Lektionen, die jeder in der Blockchain lernt, ist, dass die Gelder in Ihrem Wallet von Ihrem privaten Schlüssel kontrolliert werden.

Sie alle kennen den Satz: „Nicht Ihre Schlüssel, nicht Ihre Münzen“. Diese Redewendung bedeutet, dass jede Person, die den privaten Schlüssel einer Brieftasche besitzt, die volle Kontrolle über die Vermögenswerte in dieser Brieftasche hat. Um Geld von einem Konto auf ein anderes zu überweisen, müssen Sie lediglich eine Transaktion mit dem privaten Schlüssel dieses Kontos unterzeichnen.

Derzeit ist der in Blockchains verwendete Standardalgorithmus für digitale Signaturen der Elliptic Curve Digital Signature Algorithm (ECDSA).

ECDSA gehört zur „nicht-deterministischen“ Kategorie der digitalen Signaturalgorithmen. Im Gegensatz zu „deterministischen“ Algorithmen, die bei einer bestimmten Eingabe immer die gleiche Ausgabe liefern, können „nicht deterministische“ Algorithmen auch bei derselben Eingabe unterschiedliche Ausgaben erzeugen. Für ECDSA bedeutet dies, dass derselbe Datensatz oder dieselbe Transaktion mehrere rechtsgültige Signaturen aufweist.

Jedes Mal, wenn eine Transaktion mit ECDSA signiert wird, wird eine kryptographisch sichere Zufallszahl „k“ generiert. ‘k’ wird dann verwendet, um einen Punkt auf der elliptischen Kurve zu berechnen, der wiederum verwendet wird, um den ‘R’-Wert zu berechnen. Es ist entscheidend, dass jedes Mal, wenn eine Transaktion mit ECDSA signiert wird, eine neue Zufallszahl ‘k’ generiert wird.

Siehe auch  Darknet-Drogenhändler wird beschuldigt, Bitcoin im Wert von 136 Millionen US-Dollar gewaschen zu haben

Wenn dasselbe ‘k’ verwendet wird, um mehrere Transaktionen zu signieren, ist der ‘R’-Wert von zwei Transaktionen gleich und der private Schlüssel wird durchsickern. Dies wird als ‘k’-Wert-Kollision bezeichnet und ist der Grund für den PS3-Hack von Sony Ende 2010. Dies ist auch der Grund für den AnySwap-Hack.

Als Nächstes untersuchen wir, wie der AnySwap-Hacker den privaten Schlüssel, der das kettenübergreifende MPC-Konto von AnySwap kontrolliert, zurückentwickelt hat, um die Gelder der Benutzer zu stehlen.

Zwei ist definitiv nicht immer besser als eins

Überlegen Sie, was passiert, wenn zwei Transaktionen mit derselben Zufallszahl ‘k’ signiert werden. Da ‘k’ verwendet wird, um ‘R’ abzuleiten, ist auch der ‘R’-Wert der beiden Transaktionen gleich. Nennen wir diese beiden Signaturen (s1) und (s2).

Laut ECDSA lauten die Gleichungen, die diese beiden Transaktionen darstellen:

wobei S1, S2 und ‘R’ Signaturdaten darstellen und Transaktionsdaten darstellen. Dies sind alle Daten, die auf der Blockchain öffentlich sichtbar sind. Damit bleiben zwei unbekannte Parameter übrig: die Zufallszahl ‘k’ und der private Schlüssel des Kontos.

Wer sich an seine Highschool-Algebra erinnert, wird sofort wissen, wie man die unbekannten Parameter mit den beiden Gleichungen löst. Der private Schlüssel sk kann daher geschrieben werden als:

img2Der AnySwap-Hacker bemerkte, dass zwei Transaktionen den gleichen ‘R’-Wert hatten, was bedeutet, dass in beiden die gleiche Zufallszahl ‘k’ verwendet wurde. Dies ermöglichte es dem Hacker, den privaten Schlüssel, der das Cross-Chain-MPC-Konto von AnySwap kontrolliert, mithilfe einfacher Algebra zurückzuentwickeln und die Vermögenswerte der Benutzer zu stehlen.

Der kritische Fehler war, dass in mehreren Transaktionen dieselbe Zufallszahl ‘k’ verwendet wurde. ‘k’ wurde offensichtlich nicht zufällig generiert! Wie hätte dies also vermieden werden können?

Die Notwendigkeit einer sicheren Mehrparteien-Berechnung

Im Vergleich zu einfachen Transaktionssignaturen ist Secure Multi-Party Computation (SMPC) in der Tat recht komplex. Der zusätzliche Aufwand lohnt sich jedoch. Wenn SMPC – was ist sehr anders als bei Mehrfachsignaturen – richtig verwendet wird, um echte Zufallszahlen zu generieren, besteht kein Risiko, dass die Zufallszahl ‘k’ aufgedeckt wird.

Bei der Nutzung von SMPC ist der signierende Agent nicht mehr eine einzelne Person, sondern mehrere Personen, die zusammenarbeiten, um Transaktionen zu signieren.

Bei einfachen Transaktionssignaturen reicht ein echter Zufallszahlengenerator allein aus, um den „R“-Wert zu generieren und die Sicherheit zu garantieren. Da an SMPC jedoch mehrere unabhängige Parteien beteiligt sind, besteht immer die Gefahr, dass eine oder mehrere dieser Parteien bösartig sind.

Daher ist es nicht sinnvoll, einer einzelnen Person zu erlauben, den „R“-Wert allein zu generieren, da sie ein böswilliger Akteur sein kann. Wenn sie allein die Zufallszahl „k“ und damit den Wert „R“ kontrollieren, können sie den privaten Schlüssel des Kontos zurückentwickeln und Vermögenswerte stehlen. Daher müssen bei der Verwendung von SMPC zur Generierung des ‘R’-Werts drei Prinzipien eingehalten werden:

  1. Der ‘R’-Wert kann nicht von einer einzelnen Person generiert werden;
  2. Kein einzelnes Individuum kann die Zufallszahl ‘k’ kennen, die verwendet wird, um den ‘R’-Wert abzuleiten;
  3. Die Zufallszahl ‘k’ muss ausreichend zufällig sein, um unverzerrt und unvorhersehbar zu sein.

In den Begriffen von Laien verlangt SMPC, dass eine Gruppe von Personen zusammen an einer Aufgabe arbeitet, ohne zu wissen, woran sie gerade arbeiten oder mit wem sie arbeiten.

SMPC Standard-Setter: Wanchains öffentlich überprüfbares geheimes Sharing-Design

Die Cross-Chain-Bridges von Wanchain basieren auf einem einzigartigen Mechanismus, der SMPC verwendet, um Cross-Chain-Assets in Konten gesperrt zu halten, die von 25 anonymen Parteien namens Storeman-Knoten verwaltet werden. Die Anzahl der Storeman-Knoten kann nach Bedarf erhöht werden.

Beim Signieren von Transaktionen aus dem gesperrten Konto wird der ‘R’-Wert gemeinsam von diesen 25 Storeman-Knoten durch einen Prozess bestimmt, der als öffentlich verifizierbarer geheimer Austausch bekannt ist. Dieser Prozess stellt sicher, dass keine zwei Transaktionen jemals den gleichen ‘R’-Wert haben.

Siehe auch  Die globale Einführung von Kryptowährungen ist 'in die Höhe schießend', und dieses Land ist führend: Chainalysis

Die spezifischen Schritte, die diese 25 Storeman-Knoten durchführen, sind wie folgt:

  1. Jeder Storeman-Knoten (Pi) erzeugt lokal eine Zufallszahl ‘ki’ unter Verwendung eines echten Zufallszahlengenerators;
  2. Jeder Storeman-Knoten (Pi) teilt seine Zufallszahl ‘ki’ mit den anderen Knoten über einen sicheren Kanal unter Verwendung von Shamirs Secret Sharing.
    Shamirs Secret Sharing ist ein geheimes Sharing-Schema, das entwickelt wurde, um ein Geheimnis auf verteilte Weise zu teilen. Das Geheimnis ist in mehrere Teile aufgeteilt, die als Shares bezeichnet werden. Das Geheimnis kann mit einer Mindestanzahl von Aktien rekonstruiert werden. Shamirs Secret Sharing wird häufig in der Kryptographie verwendet.
  3. Nach dem Empfang der geheimen Anteile von den anderen Knoten sammelt jeder Storeman-Knoten die geheimen Anteile und multipliziert sie mit dem Basispunkt der elliptischen Kurve und sendet das Ergebnis;
  4. Jeder Storeman-Knoten führt eine Lagrange-Interpolation unter Verwendung der Rundsendedaten durch, um einen elliptischen Kurvenpunkt zu erhalten, dessen Abszisse der ‘R’-Wert ist.

Obwohl der obige Prozess ziemlich kompliziert ist, ist das Kernkonzept ziemlich einfach. Der ‘R’-Wert wird gemeinsam von 25 Storeman-Knoten bestimmt. Jeder Storeman-Knoten trägt einen Teil der verschlüsselten Zufallszahl ‘k’ bei. Der ‘R’-Wert wird dann durch kryptographische Operationen bestimmt.

Mit anderen Worten, die 25 Storeman-Knoten arbeiten zusammen, ohne zu wissen, woran sie arbeiten oder wer die anderen Storeman-Knoten sind.

Öffentlich überprüfbares Teilen von Geheimnissen: Warum ist es so wichtig

Die öffentlich überprüfbare geheime Freigabe stellt sicher, dass:

  1. Es ist unmöglich, dass zwei Transaktionen den gleichen R-Wert haben

Dafür gibt es zwei Hauptgründe. Erstens wird der ‘R’-Wert gemeinsam von 25 Storeman-Knoten und nicht von einer Einzelperson bestimmt. Theoretisch ist der ‘R’-Wert zufällig, solange es einen einzigen ehrlichen Knoten gibt. Zweitens wird der Beitrag jedes Storeman-Knotens durch den echten Zufallszahlengenerator erzeugt.

Kombiniert haben zwei Transaktionen nur dann den gleichen ‘R’-Wert, wenn die Summe der von allen 25 Storeman-Knoten ausgewählten Zufallszahlen in zwei Transaktionen gleich ist. Die Wahrscheinlichkeit dafür ist 2^(-256). Dies ist weniger wahrscheinlich, als dass Sie gerade jetzt von einem Meteoriten getroffen werden, während Sie diesen Satz lesen.

  1. Die Zufallszahl ‘k’, die verwendet wird, um den ‘R’-Wert abzuleiten, bleibt verborgen

Wie zuvor gezeigt, kann der private Schlüssel, sobald die Zufallszahl ‘k’ bekannt ist, zurückentwickelt werden. Beim Signieren von Transaktionen aus dem gesperrten Konto generiert jeder Storeman-Knoten nur einen Anteil der Zufallszahl ‘k’. Da jede Freigabe über sichere Kanäle überträgt, kann kein Storeman-Knoten den vollen Wert der Zufallszahl ‘k’ wiederherstellen.

Mit anderen Worten, dank des SMPC-Designs von Wanchain bleibt die Zufallszahl ‘k’, die verwendet wird, um den ‘R’-Wert abzuleiten, immer verborgen. Die gesperrten Konten, die in den branchenführenden Cross-Chain-Brücken von Wanchain verwendet werden, sind äußerst sicher. Es besteht keine Möglichkeit, dass der private Schlüssel verloren geht.

Urteil

Das Forschungs- und Entwicklungsteam von Wanchain ist nicht der Meinung, dass der AnySwap-Hack ein allgemeines Risiko für andere Projekte darstellt, die SMPC einsetzen. Das F&E-Team von Wanchain sieht in Abstimmung mit anderen Entwicklern in der gesamten Branche, die SMPC implementiert haben, die Schwachstellen oder Fehler, die den AnySwap-Hack ermöglicht haben, nicht als allgemeines Risiko an.

Das Team möchte auch die wichtige Rolle hervorheben, die Zufallszahlen in der Blockchain spielen. Zufallszahlen werden nicht nur zum Signieren von Transaktionen verwendet. Sie werden auf mehreren Ebenen des technischen Designs verwendet und sind wichtige Bestandteile von PoS Consensus und Shard-Algorithmen, die direkt die Sicherheit eines Blockchain-Netzwerks bestimmen.

Die effiziente Erzeugung zuverlässiger Zufallszahlen ist keine einfache Aufgabe. Es ist der heilige Gral ganzer Bereiche der Mathematik und Kryptographie. Geniale Menschen haben ihr Leben und ihre Gedanken der Optimierung der Zufallszahlengenerierung gewidmet.

Blockchain-Entwickler auf der ganzen Welt müssen diese Tradition fortsetzen und besser verteilte Zufallszahlengenerierungsalgorithmen entwickeln, während sie gleichzeitig die Zufallszahlengenerierung in der Kette weiter optimieren. Die Zukunft von DeFi – und der Blockchain insgesamt – wird auf der heute geleisteten Arbeit aufbauen.

Offenlegung: Dieser Artikel wurde vom Wanchain R&D-Team verfasst.

.

Artikel in englischer Sprache auf cryptopotato.

Krypto News Deutschland

Das beliebte Magazin für die aktuellsten Krypto News zu Kryptowährungen auf deutsch. Experten-Analysen, Prognosen, Nachrichten und Kurse zu allen Coins, findest du zuverlässig und in Echtzeit auf unserem Magazin.

Ähnliche Artikel

Schließen

Adblocker erkannt

Wir nutzen keine der folgenden Werbeformen:
  • Popups
  • Layer
  • Umleitungen
Wir nutzen nur unaufdringliche Werbebanner, um unsere Arbeit zu finanzieren. Wenn du weiterhin alle Nachrichten, Analysen, Prognosen und Kurse kostenlos erhalten möchtest, deaktiviere bitte deinen Adblocker. Vielen Dank.