Der Parity-Multisig-Wallet-Hack erklärt
Der Parity-Multisig-Wallet-Hack war ein bedeutendes Ereignis in der frühen Geschichte von Ethereum, das zum Verlust von Millionen von Dollar in Ether führte. Er verdeutlichte kritische Schwachstellen im Smart-Contract-Design und die
Struktur, Lesbarkeit, interne Verlinkung und SEO-Metadaten wurden automatisiert geprüft. Der Artikel wird fortlaufend aktualisiert und dient der Bildung, nicht als Finanzberatung.
Definition
Eine Multisig-Wallet (Multi-Signatur-Wallet) ist eine Art von Kryptowährungs-Wallet, die mehrere private Schlüssel zur Autorisierung einer Transaktion erfordert. Dies erhöht die Sicherheit, indem die Kontrolle verteilt und ein einziger Fehlerpunkt verhindert wird.
Der Parity-Multisig-Wallet-Hack bezieht sich auf eine Reihe von Sicherheitsvorfällen im Jahr 2017, die eine beliebte Multi-Signatur-Wallet-Implementierung von Parity Technologies für die Ethereum-Blockchain betrafen. Diese Vorfälle führten beim ersten Ereignis zum Diebstahl von etwa 31 Millionen US-Dollar in Ether und bei einem späteren, verwandten Ereignis zum Einfrieren von über 150 Millionen US-Dollar in Ether. Das Kernproblem war weder ein Fehler im Ethereum-Protokoll selbst noch in der Client-Software von Parity, sondern eine kritische Schwachstelle im spezifischen Smart-Contract-Code, der für die Multisig-Wallets verwendet wurde. Diese Schwachstelle ermöglichte unbefugten Zugriff und Manipulation von Geldern, was die damaligen Herausforderungen in der Smart-Contract-Sicherheit unterstreicht.
Kernaussage
Die primäre Lehre aus dem Parity-Multisig-Wallet-Hack ist die überragende Bedeutung strenger Sicherheitsaudits, robuster Designmuster und umfassender Tests für Smart Contracts, insbesondere solche, die erhebliche Vermögenswerte verwalten. Der Vorfall zeigte, dass selbst gut gemeinte und weit verbreitete Smart-Contract-Implementierungen kritische Fehler aufweisen können, wenn grundlegende Sicherheitsprinzipien, wie die ordnungsgemäße Initialisierung und der sorgfältige Einsatz von delegatecall, übersehen werden. Er diente als deutliche Erinnerung daran, dass Code auf der Blockchain Gesetz ist und Schwachstellen, einmal ausgenutzt, oft irreversibel sind, was zu dauerhaftem Verlust oder Einfrieren von Geldern führt.
Mechanik
Die Schwachstelle der Parity-Multisig-Wallet resultierte aus einer spezifischen Designentscheidung, die einen Bibliotheks-Smart-Contract und den delegatecall-Opcode betraf. In Solidity ermöglicht delegatecall einem Vertrag, Code von einem anderen Vertrag (der Bibliothek) im Kontext des Speichers des aufrufenden Vertrags auszuführen. Dies bedeutet, dass der Code der Bibliothek auf den Daten des aufrufenden Vertrags operiert, was ihn zu einem mächtigen, aber gefährlichen Werkzeug macht, wenn er nicht sorgfältig eingesetzt wird.
Die Multisig-Wallet-Implementierung von Parity verwendete ein Proxy-Muster, bei dem einzelne Wallet-Verträge delegatecall an einen gemeinsam genutzten Bibliotheks-Vertrag für ihre Kernlogik ausführten. Der kritische Fehler bestand darin, dass der Bibliotheks-Vertrag selbst, der die Funktion initWallet (verantwortlich für die Festlegung des Wallet-Besitzers) enthielt, ohne Initialisierung bereitgestellt wurde. Dies bedeutete, dass jeder initWallet direkt auf dem Bibliotheks-Vertrag selbst aufrufen und effektiv dessen Besitzer werden konnte.
Beim ursprünglichen Hack von 31 Millionen US-Dollar identifizierte ein Angreifer diesen nicht initialisierten Bibliotheks-Vertrag. Er rief die initWallet-Funktion auf der Bibliothek auf und beanspruchte die Eigentümerschaft. Sobald der Angreifer der Besitzer der Bibliothek war, konnte er die execute-Funktion (oder eine ähnliche Geldtransferfunktion) auf der Bibliothek aufrufen, was ihm aufgrund des delegatecall-Mechanismus ermöglichte, Gelder von jeder Multisig-Wallet abzuziehen, die auf diese spezifische Bibliotheksinstanz angewiesen war. Der Angreifer sendete zwei Transaktionen an jeden betroffenen Vertrag: eine, um das exklusive Eigentum an der Multisig zu erlangen, und die zweite, um alle Gelder zu verschieben. Dies war möglich, weil die Bibliothek, da sie nicht initialisiert war, von jedem "beansprucht" werden konnte, und ihre Funktionen, wenn direkt aufgerufen, auf ihrem eigenen (leeren) Speicher operierten, aber wenn sie über delegatecall von einer Wallet aufgerufen wurden, auf dem Speicher der Wallet operierten. Der Angreifer nutzte dies aus, um der Besitzer der Bibliothek selbst zu werden, nicht unbedingt direkt der einzelnen Wallets, aber nutzte dann die Funktionen der Bibliothek, um die Wallets zu beeinflussen.
Ein späterer, noch größerer Vorfall ereignete sich Monate später und fror über 150 Millionen US-Dollar ein. Dies wurde durch eine andere, wenn auch verwandte, Schwachstelle verursacht. Nach dem ersten Hack hatte Parity eine aktualisierte Bibliothek bereitgestellt. Diese neue Bibliothek enthielt jedoch ebenfalls einen Initialisierungsfehler. Ein Benutzer (der später behauptete, es sei versehentlich geschehen) rief die initWallet-Funktion auf dem neuen Bibliotheks-Vertrag auf und wurde dessen Besitzer. Anschließend rief dieser Benutzer dann die kill-Funktion (oder selfdestruct) auf dem Bibliotheks-Vertrag auf und zerstörte ihn damit effektiv. Da Hunderte von Multisig-Wallets darauf ausgelegt waren, über delegatecall auf diese nun zerstörte Bibliothek für ihre Kernlogik zuzugreifen, wurden alle in diesen Wallets gehaltenen Gelder – geschätzt auf über 150 Millionen US-Dollar in Ether – dauerhaft unzugänglich. Der delegatecall-Mechanismus bedeutete, dass die Wallet-Verträge im Wesentlichen Proxys waren; ohne den zugrunde liegenden Bibliotheks-Code hatten sie keine Funktionalität, um ihre Gelder zu verwalten. Dies fror das Ether effektiv ein, da es keinen Code mehr gab, um Transaktionen von diesen Wallets auszuführen.
Trading-Relevanz
Obwohl der Parity-Multisig-Wallet-Hack ein direkter Sicherheitsvorfall und kein Marktmanipulationsereignis war, sind seine Auswirkungen für Trader erheblich, insbesondere im Hinblick auf Risikomanagement und Due Diligence. Für Trader, die erhebliche Mengen an Ether oder anderen Token in Smart-Contract-basierten Wallets halten, ist das Verständnis solcher Schwachstellen von größter Bedeutung. Der Hack unterstrich, dass die Sicherheit von Geldern nicht ausschließlich vom zugrunde liegenden Blockchain-Protokoll abhängt, sondern auch stark von der Sicherheit der Smart Contracts, die damit interagieren.
Trader müssen erkennen, dass sich die Sicherheitslandschaft von dezentraler Finanzierung (DeFi) und Blockchain-Assets ständig weiterentwickelt. Das Vertrauen in ungeprüfte oder schlecht entworfene Smart Contracts, selbst von renommierten Entwicklern, kann Vermögenswerte einem katastrophalen Verlust aussetzen. Dieser Vorfall bekräftigte die Notwendigkeit für Trader, ihre Speicherlösungen zu diversifizieren, Hardware-Wallets für die Cold Storage zu verwenden und die Sicherheitsbilanz sowie Audit-Berichte aller Smart Contracts oder Plattformen, denen sie ihr Kapital anvertrauen, gründlich zu recherchieren. Darüber hinaus verdeutlichte er das systemische Risiko, das eine einzelne Smart-Contract-Schwachstelle für einen erheblichen Teil des Ökosystems darstellen kann, was potenziell zu Marktinstabilität oder Vertrauensverlust führen kann, der indirekt Handelsentscheidungen und Vermögensbewertungen beeinflussen kann.
Risiken
Der Parity-Multisig-Wallet-Hack veranschaulicht mehrere inhärente Risiken, die mit Smart Contracts und dezentralen Anwendungen verbunden sind. An vorderster Stelle steht das Smart-Contract-Risiko, das sich auf das Potenzial für Fehler, Schwachstellen oder unbeabsichtigtes Verhalten innerhalb des Vertragscodes bezieht. Im Gegensatz zu traditioneller Software sind Fehler in Smart Contracts oft unveränderlich und können zu einem irreversiblen Verlust von Geldern führen, wie die Diebstahl- und Einfrierungsereignisse zeigten. Dieses Risiko wird durch die Komplexität von Smart-Contract-Interaktionen verstärkt, insbesondere bei der Verwendung fortgeschrittener Funktionen wie delegatecall oder externer Bibliotheken.
Ein weiteres erhebliches Risiko ist das operationelle Risiko, das aus menschlichem Versagen resultiert. Im Fall des Einfrierens von 150 Millionen US-Dollar verdeutlicht das versehentliche kill des Bibliotheks-Vertrags durch einen Benutzer, wie selbst nicht-bösartige Aktionen aufgrund zugrunde liegender Designfehler verheerende Folgen haben können. Dies unterstreicht die Notwendigkeit einer robusten Fehlerbehandlung, klarer Dokumentation und Benutzeroberflächen, die solche kritischen Fehler verhindern. Darüber hinaus legte der Vorfall das systemische Risiko offen, das mit weit verbreiteten, aber fehlerhaften Smart-Contract-Mustern verbunden ist. Wenn viele Projekte auf demselben anfälligen Code basieren, kann ein einziger Exploit einen großen Teil des Ökosystems beeinflussen, was zu weitreichenden finanziellen Verlusten und einem potenziellen Vertrauensverlust in die Technologie führen kann. Die Minderung dieser Risiken erfordert kontinuierliche Sicherheitsaudits, formale Verifizierung, Bug-Bounty-Programme und ein Engagement für Best Practices bei der Entwicklung und Bereitstellung von Smart Contracts.
Geschichte und Beispiele
Die Geschichte des Parity-Multisig-Wallet-Hacks ist von zwei unterschiedlichen, aber verwandten Sicherheitsvorfällen geprägt, die das Ethereum-Ökosystem tiefgreifend beeinflussten. Der erste Vorfall ereignete sich am 19. Juli 2017. Ein unbekannter Angreifer nutzte eine Schwachstelle im Multisignatur-Wallet-Vertrag von Parity aus, die speziell Wallets betraf, die mit einer bestimmten Version des Vertragscodes bereitgestellt worden waren. Der Fehler ermöglichte es dem Angreifer, der Besitzer der Multisig-Wallet zu werden und anschließend etwa 31 Millionen US-Dollar in Ether aus drei großen Wallets abzuziehen, darunter Gelder von prominenten Projekten wie Swarm City und æternity. Dieser erste Hack löste eine sofortige Reaktion der Ethereum-Community aus, wobei White-Hat-Hacker daran arbeiteten, andere anfällige Wallets zu sichern, indem sie diese in sichere Adressen leerten und die Gelder zurückgaben.
Der zweite, schwerwiegendere Vorfall fand am 6. November 2017 statt. Dieses Ereignis beinhaltete keinen Diebstahl, sondern das dauerhafte Einfrieren von Geldern. Nach dem ersten Hack hatte Parity eine aktualisierte Version ihrer Multisig-Wallet-Bibliothek bereitgestellt. Diese neue Bibliothek enthielt jedoch ebenfalls einen kritischen Fehler: Es war immer noch möglich, den Bibliotheks-Vertrag selbst zu initialisieren. Ein Benutzer, identifiziert als "devops199", rief Berichten zufolge versehentlich die initWallet-Funktion auf dem Bibliotheks-Vertrag auf und wurde dessen Besitzer. Anschließend rief dieser Benutzer dann die kill-Funktion auf dem Bibliotheks-Vertrag auf und zerstörte ihn damit effektiv. Da Hunderte von Multisig-Wallets darauf ausgelegt waren, über delegatecall auf diese nun zerstörte Bibliothek für ihre Kernlogik zuzugreifen, wurden alle in diesen Wallets gehaltenen Gelder – geschätzt auf über 150 Millionen US-Dollar in Ether – dauerhaft unzugänglich. Dieser Vorfall verdeutlichte die extreme Unveränderlichkeit von Blockchain-Transaktionen und die irreversible Natur von Smart-Contract-Fehlern, selbst wenn sie unbeabsichtigt sind.
Häufige Missverständnisse
Eines der häufigsten Missverständnisse rund um den Parity-Multisig-Wallet-Hack ist, dass es sich um eine Schwachstelle im Ethereum-Blockchain-Protokoll selbst oder einen Fehler in der Kern-Client-Software von Parity handelte. Dies ist falsch. Der Exploit war spezifisch eine Schwachstelle im Smart-Contract-Code, den Parity als Vorlage für Benutzer zur Bereitstellung ihrer eigenen Multisignatur-Wallets bereitstellte. Das zugrunde liegende Protokoll von Ethereum blieb während beider Vorfälle sicher und funktionierte wie vorgesehen. Das Problem lag vollständig in der Anwendungsschicht und zeigte, dass, während die Blockchain eine sichere Grundlage bietet, die darauf aufgebauten Anwendungen nur so sicher sind wie ihr Code.
Eine weitere häufige Fehlannahme ist, dass die beiden Vorfälle identisch waren oder Teil eines einzigen, kontinuierlichen Angriffs. Obwohl sie durch das zugrunde liegende Designmuster (Verwendung einer nicht initialisierten Bibliothek mit delegatecall) verwandt waren, handelte es sich um unterschiedliche Ereignisse mit unterschiedlichen Ergebnissen. Der erste war ein Diebstahl von Geldern durch einen böswilligen Akteur, während der zweite ein versehentliches Einfrieren von Geldern aufgrund eines Benutzers war, der versehentlich den Bibliotheks-Vertrag zerstörte. Darüber hinaus könnten einige fälschlicherweise annehmen, dass alle Parity-Wallets betroffen waren. Tatsächlich waren nur Multisig-Wallets, die mit den spezifischen anfälligen Versionen des Smart-Contract-Codes bereitgestellt wurden, gefährdet. Wallets, die andere Multisig-Implementierungen verwendeten, wie die von OpenZeppelin, wurden ausdrücklich als nicht betroffen bestätigt. Diese Unterscheidungen sind wichtig, um die Natur der Smart-Contract-Sicherheit und die spezifischen Angriffsvektoren genau zu verstehen.
Zusammenfassung
Der Parity-Multisig-Wallet-Hack gilt als ein wegweisendes Ereignis in der Geschichte der Smart-Contract-Sicherheit und dient als aussagekräftige Fallstudie für die gesamte Blockchain-Industrie. Er unterstrich die tiefgreifenden Auswirkungen selbst subtiler Codierungsfehler in unveränderlichen Umgebungen, die sowohl zu direktem Diebstahl als auch zum dauerhaften Einfrieren erheblicher digitaler Vermögenswerte führten. Die Vorfälle waren kein Versagen des Ethereum-Protokolls, sondern ein kritischer Fehler in einer weit verbreiteten Smart-Contract-Implementierung, speziell betreffend die Initialisierung eines Bibliotheks-Vertrags und dessen Interaktion über delegatecall. Die Lehren aus Paritys Erfahrung haben die Entwicklungspraktiken von Smart Contracts maßgeblich beeinflusst und die absolute Notwendigkeit strenger Sicherheitsaudits, formaler Verifizierung und der Einhaltung sicherer Designmuster betont. Für jeden, der im Krypto-Bereich tätig ist, von Entwicklern bis zu Tradern, bleibt der Parity-Hack eine eindringliche Erinnerung daran, dass Sicherheit von größter Bedeutung ist und ständige Wachsamkeit und Bildung erfordert.
OKX EU · Offizieller Biturai-Partner
OKX EU
Entdecke das aktuelle Angebot von OKX EU über den offiziellen Biturai-Partnerlink. Produkte und Verfügbarkeit können je Land abweichen.
OKX EU ansehenPartnerlink · Biturai kann bei Nutzung eine Vergütung erhalten · keine Anlageberatung
