Dieser Artikel ist ein Community-Beitrag. Der Autor ist Minzhi He, Auditor von CertiK.
Die in diesem Artikel geäußerten Ansichten sind die des Mitwirkenden/Autors und spiegeln nicht unbedingt die Ansichten der Binance Academy wider.
Zusammenfassung
Blockchain-Brücken sind für die Erreichung der Interoperabilität im Blockchain-Bereich von grundlegender Bedeutung. Daher ist die Sicherheit der Cross-Chain-Bridging-Technologie von entscheidender Bedeutung. Zu den häufigsten Sicherheitslücken der Blockchain-Brücke gehören unzureichende On-Chain- und Off-Chain-Verifizierung, unsachgemäße Handhabung nativer Token und Fehlkonfigurationen. Um sicherzustellen, dass die Verifizierungslogik korrekt ist, wird empfohlen, die Cross-Chain-Bridge gegen alle möglichen Angriffsvektoren zu testen.
Einführung
Eine Blockchain-Brücke ist ein Protokoll, das zwei Blockchains verbindet und ihnen die Interaktion ermöglicht. Wenn Benutzer über die Blockchain-Brücke an DeFi-Aktivitäten im Ethereum-Netzwerk teilnehmen möchten, müssen sie nur Bitcoin halten und müssen es nicht verkaufen, um ihre Ziele zu erreichen.
Blockchain Bridge ist die Grundlage für die Interoperabilität im Blockchain-Bereich. Um zu funktionieren, verwenden sie verschiedene On-Chain- und Off-Chain-Verifizierungen, daher kann es auch unterschiedliche Sicherheitslücken geben.
Warum ist die Sicherheit von Blockchain-Brücken so wichtig?
Blockchain-Brücken enthalten normalerweise Token, die Benutzer von einer Kette auf eine andere übertragen möchten. Blockchain-Brücken werden normalerweise in Form von Smart Contracts eingesetzt. Da sich die kettenübergreifenden Transfers immer weiter anhäufen, wird eine große Anzahl von Token auf der Brücke gehalten. Dieser enorme Reichtum wird sie zu einem begehrten Ziel für Hacker machen.
Darüber hinaus ist die Angriffsfläche von Blockchain-Brücken aufgrund der vielen beteiligten Komponenten tendenziell groß. Daher besteht für Kriminelle ein starker Anreiz, kettenübergreifende Anwendungen ins Visier zu nehmen, um an große Geldbeträge zu gelangen.
Nach Schätzungen von CertiK verursachten Blockchain-Bridge-Angriffe im Jahr 2022 Verluste in Höhe von mehr als 1,3 Milliarden US-Dollar, was 36 % der Gesamtverluste in diesem Jahr ausmachte.
Häufige Sicherheitslücken bei Cross-Chain-Bridging
Um die Sicherheit einer Blockchain-Brücke zu erhöhen, ist es wichtig, häufige Sicherheitslücken bei kettenübergreifenden Brücken zu verstehen und die Blockchain-Brücke vor dem Start zu testen. Diese Schwachstellen sind hauptsächlich auf die folgenden vier Aspekte zurückzuführen:
Unzureichende On-Chain-Verifizierung
Bei einfachen Blockchain-Brücken, insbesondere solchen, die für eine bestimmte dApp entwickelt wurden, gibt es normalerweise nur ein minimales Maß an On-Chain-Verifizierung. Diese Brücken stützen sich auf ein zentralisiertes Backend, um grundlegende Vorgänge wie Prägen, Brennen und Token-Übertragungen durchzuführen, wobei die gesamte Überprüfung außerhalb der Kette erfolgt.
Während andere Arten von Brücken intelligente Verträge verwenden, um Nachrichten zu validieren und sie in der Kette zu verifizieren. Wenn in diesem Fall ein Benutzer Geld in die Kette einzahlt, generiert der Smart Contract eine signierte Nachricht und gibt die Signatur in der Transaktion zurück. Diese Signatur wird als Einzahlungsnachweis verwendet und zur Überprüfung der Auszahlungsanforderung des Benutzers in einer anderen Kette verwendet. Dieser Prozess soll verschiedene Sicherheitsangriffe verhindern, darunter Replay-Angriffe und gefälschte Aufladedatensätze.
Liegt jedoch eine Schwachstelle im On-Chain-Verifizierungsprozess vor, könnte ein Angriff schweren Schaden anrichten. Wenn die Blockchain beispielsweise Merkle-Bäume zur Überprüfung von Transaktionsdatensätzen verwendet, kann ein Angreifer gefälschte Beweise generieren. Das heißt, wenn der Verifizierungsprozess angreifbar ist, kann ein Angreifer die Beweisüberprüfung umgehen und neue Token in seinem Konto prägen.
Einige Blockchain-Brücken implementieren das Konzept der „verpackten Token“. Wenn ein Benutzer beispielsweise DAI von Ethereum auf die BNB-Kette überträgt, wird sein DAI aus dem Ethereum-Vertrag entfernt und ein gleicher Betrag an verpacktem DAI wird auf der BNB-Kette ausgegeben.
Wenn diese Transaktion jedoch nicht ordnungsgemäß validiert wird, kann ein Angreifer einen böswilligen Vertrag einsetzen, der diese Funktionalität manipuliert, um verpackte Token von der Bridge an die falsche Adresse weiterzuleiten.
Der Angreifer muss außerdem vom Opfer den Cross-Chain-Bridge-Vertrag genehmigen, bevor er die „TransferFrom“-Funktion zum Übertragen von Token verwendet und dadurch Vermögenswerte aus dem Cross-Chain-Bridge-Vertrag entzieht.
Der knifflige Teil besteht jedoch darin, dass viele Cross-Chain-Brücken von dApp-Benutzern verlangen, eine unbegrenzte Anzahl von Token zu genehmigen. Diese Praxis ist weit verbreitet und kann die Gasgebühren senken, ermöglicht Smart Contracts jedoch den Zugriff auf eine unbegrenzte Anzahl von Token aus der Brieftasche des Benutzers. was zusätzliche Risiken mit sich bringt. Angreifer würden diese Unterverifizierungen und Übergenehmigungen ausnutzen, um Token von anderen Benutzern auf sich selbst zu übertragen.
Unzureichende Off-Chain-Verifizierung
In einigen Cross-Chain-Bridge-Systemen spielen Off-Chain-Backend-Server eine entscheidende Rolle bei der Überprüfung der Legitimität von Nachrichten, die von der Blockchain gesendet werden. In diesem Fall müssen wir uns auf die Überprüfung der Aufladetransaktion konzentrieren.
Eine Blockchain-Brücke mit Off-Chain-Verifizierung funktioniert wie folgt:
Benutzer interagieren mit der dApp und hinterlegen Token in Smart Contracts in der Quellkette.
Die dApp sendet dann den Einzahlungstransaktions-Hash über die API an den Backend-Server.
Der Transaktions-Hash muss vom Server mehrmals überprüft werden. Wenn er als legitim erachtet wird, signiert der Unterzeichner eine Nachricht und sendet die Signatur über die API an die Benutzeroberfläche zurück.
Sobald die Signatur empfangen wurde, überprüft die dApp sie und ermöglicht dem Benutzer, Token aus der Zielkette abzuheben.
Der Backend-Server muss sicherstellen, dass die von ihm verarbeiteten Aufladetransaktionen echt und nicht gefälscht sind. Dieser Backend-Server bestimmt, ob ein Benutzer Token auf der Zielkette abheben kann, wodurch er zum ersten Angriffsziel wird.
Der Backend-Server muss die Struktur des Transaktionsinitiierungsereignisses und die Vertragsadresse, die das Ereignis initiiert hat, überprüfen. Wenn letzteres ignoriert wird, können Angreifer böswillige Verträge einsetzen, um Aufladeereignisse mit der gleichen Struktur wie legitime Aufladeereignisse zu fälschen.
Wenn der Backend-Server nicht überprüft, welche Adresse das Ereignis ausgelöst hat, geht er davon aus, dass es sich um eine gültige Transaktion handelt, und signiert die Nachricht. Ein Angreifer kann dann den Transaktions-Hash an den Backend-Server senden, die Überprüfung umgehen und es ihm ermöglichen, Token aus der Zielkette zu entnehmen.
Unsachgemäßer Umgang mit nativen Token
Cross-Chain-Brücken verfolgen einen anderen Ansatz als native Token und Utility-Token. Im Ethereum-Netzwerk ist beispielsweise ETH der native Token, und die meisten Utility-Token entsprechen dem ERC-20-Standard.
Wenn ein Benutzer beabsichtigt, seine ETH auf eine andere Kette zu übertragen, muss er diese zunächst im Cross-Chain-Bridge-Vertrag hinterlegen. Dazu hängt der Benutzer einfach ETH an die Transaktion an und kann den ETH-Betrag durch Auslesen des Transaktionsfelds „msg.value“ abrufen.
Die Einzahlung von ERC-20-Tokens unterscheidet sich stark von der Einzahlung von ETH. Um ERC-20-Token einzuzahlen, müssen Benutzer zunächst dem Cross-Chain-Bridge-Vertrag erlauben, ihre Token zu verwenden. Nachdem sie die Token genehmigt und im Cross-Chain-Bridge-Vertrag hinterlegt haben, verwendet der Vertrag die Funktion „burnFrom()“, um die Token des Benutzers zu zerstören, oder die Funktion „transferFrom()“, um die Token des Benutzers in den Vertrag zu übertragen.
Um zu unterscheiden, um welche Operation es sich handelt, können Sie if-else-Anweisungen in derselben Funktion verwenden. Oder erstellen Sie zwei separate Funktionen, um jedes Szenario zu bewältigen. Wenn ein Benutzer versucht, ETH über die ERC-20-Einzahlungsfunktion einzuzahlen, kann es aufgrund unterschiedlicher Verarbeitungsmethoden zum Verlust der ETH kommen.
Bei der Bearbeitung von ERC-20-Einzahlungsanfragen geben Benutzer normalerweise die Token-Adresse als Eingabeparameter für die Einzahlungsfunktion an. Dies stellt ein erhebliches Risiko dar, da es bei Transaktionen zu nicht vertrauenswürdigen externen Aufrufen kommen kann. Die Verwendung einer Whitelist, um nur Token aufzunehmen, die von einer Cross-Chain-Bridge unterstützt werden, ist eine gängige Praxis, um das Risiko zu minimieren. Als Parameter werden nur Adressen auf der Whitelist übergeben. Dies verhindert externe Aufrufe, da das Projektteam die Token-Adressen gefiltert hat.
Allerdings gibt es auch ein Problem, wenn die Cross-Chain-Bridge die Cross-Chain-Übertragung nativer Token abwickelt, da die nativen Token keine Adressen haben. Native Token können durch eine spezielle Adresse, die „Nulladresse“ (0x000...0), dargestellt werden. Dabei gibt es jedoch ein Problem: Wenn die Whitelist-Verifizierungslogik nicht korrekt implementiert ist, kann die Übergabe einer Nulladresse an die Funktion die Whitelist-Verifizierung umgehen.
Wenn der Cross-Chain-Bridge-Vertrag „TransferFrom“ aufruft, um Benutzerressourcen an den Vertrag zu übertragen, gibt der externe Aufruf an die Nulladresse „false“ zurück, da die Funktion „transferFrom“ in der Nulladresse nicht implementiert ist. Wenn der Vertrag den Rückgabewert jedoch nicht korrekt verarbeitet, kann die Transaktion trotzdem weiterhin stattfinden. Dies bietet einem Angreifer die Möglichkeit, eine Transaktion auszuführen, ohne Token in den Vertrag zu übertragen.
Konfigurationsfehler
In den meisten Blockchain-Brücken gibt es eine privilegierte Rolle, die für das Whitelisting oder Blacklisting von Token und Adressen, das Zuweisen oder Ändern von Unterzeichnern und andere Schlüsselkonfigurationen verantwortlich ist. Es ist wichtig sicherzustellen, dass alle Konfigurationen korrekt sind, da scheinbar triviale Versäumnisse zu erheblichen Schäden führen können.
Tatsächlich gab es Vorfälle, bei denen es Angreifern aufgrund einer Fehlkonfiguration gelang, die Überprüfung der Übertragungsdatensätze zu umgehen. Das Projektteam führte Tage vor dem Hack ein Protokoll-Upgrade durch, bei dem eine bestimmte Variable geändert wurde. Diese Variable ist der Standardwert, der zur Darstellung vertrauenswürdiger Nachrichten verwendet wird. Diese Änderung führt dazu, dass alle Nachrichten automatisch als authentifiziert gelten, sodass ein Angreifer eine zufällige Nachricht übermitteln und die Validierung bestehen kann.
So verbessern Sie die Sicherheit von Cross-Chain-Brücken
Die oben beschriebenen vier häufigen Schwachstellen bei Cross-Chain-Bridges zeigen, dass die Herausforderungen für die Sicherheit in einem vernetzten Blockchain-Ökosystem nicht zu unterschätzen sind. Um mit diesen Schwachstellen umzugehen, müssen wir „je nach den örtlichen Gegebenheiten“ berücksichtigen. Keine Methode kann ein Allheilmittel für den Umgang mit allen Schwachstellen sein.
Da beispielsweise jede Cross-Chain-Brücke einzigartige Verifizierungsanforderungen hat, wäre es schwierig, durch die Bereitstellung allgemeiner Richtlinien sicherzustellen, dass der Verifizierungsprozess fehlerfrei ist. Der effektivste Weg, eine Umgehung der Verifizierung zu verhindern, besteht darin, die Cross-Chain-Brücke gründlich gegen alle möglichen Angriffsvektoren zu testen und sicherzustellen, dass die Verifizierungslogik angemessen ist.
Alles in allem müssen strenge Tests gegen potenzielle Angriffe durchgeführt werden, wobei besonderes Augenmerk auf die häufigsten Sicherheitslücken in Cross-Chain-Brücken gelegt werden muss.
Abschluss
Aufgrund der schieren Menge an Geldern sind Cross-Chain-Brücken seit langem ein Ziel von Angreifern. Bauherren können die Sicherheit von Cross-Chain-Brücken stärken, indem sie umfassende Tests vor der Bereitstellung durchführen und Prüfungen durch Dritte einbeziehen und so das Risiko katastrophaler Hackerangriffe verringern, die in den letzten Jahren bei Cross-Chain-Brücken drohten. Cross-Chain-Brücken sind in einer Multi-Chain-Welt von entscheidender Bedeutung, aber die Sicherheit muss beim Entwurf und Aufbau einer effektiven Web3-Infrastruktur ein vorrangiger Aspekt sein.
Weiterführende Literatur
Was ist eine Blockchain-Brücke?
Was ist kettenübergreifende Interoperabilität?
Drei beliebte Kryptowährungsbrücken und wie sie funktionieren
什么是包装代币?
Haftungsausschluss und Risikowarnung: Die Inhalte dieses Artikels sind Fakten und dienen ausschließlich allgemeinen Informations- und Bildungszwecken und stellen keine Zusicherung oder Gewährleistung dar. Dieser Artikel ist nicht als finanzielle, rechtliche oder sonstige professionelle Beratung zu verstehen und stellt keine Empfehlung für den Kauf eines bestimmten Produkts oder einer bestimmten Dienstleistung dar. Sie sollten sich selbst von geeigneten Fachberatern beraten lassen. Wenn dieser Artikel von einem Drittautoren bereitgestellt wurde, beachten Sie bitte, dass die in diesem Artikel geäußerten Ansichten dem Drittautoren gehören und nicht unbedingt die Ansichten der Binance Academy widerspiegeln. Für weitere Informationen klicken Sie bitte hier, um unseren vollständigen Haftungsausschluss zu lesen. Die Preise digitaler Vermögenswerte können schwanken. Der Wert Ihrer Anlage kann sowohl fallen als auch steigen und Sie erhalten möglicherweise nicht den investierten Kapitalbetrag zurück. Sie sind allein für Ihre eigenen Anlageentscheidungen verantwortlich und Binance Academy ist nicht verantwortlich für etwaige Verluste, die Sie erleiden. Dieser Artikel stellt keine finanzielle, rechtliche oder sonstige professionelle Beratung dar. Weitere Informationen finden Sie in unseren Nutzungsbedingungen und Risikohinweisen.

