Die Blockchain-Technologie hat das Interesse von Unternehmen weltweit geweckt. Ihre Vorteile, darunter Unveränderlichkeit und Transparenz, haben etablierte Unternehmen außerhalb des Finanzsektors wie BMW und Bosch dazu veranlasst, mit Smart Contracts zu experimentieren, um effizientere Lieferketten zu schaffen und intelligentere technische Produkte herzustellen.

Smart Contracts sind im Wesentlichen in eine bestimmte Blockchain codierte Software und formalisieren Vereinbarungen zwischen mehreren Parteien. Sie machen einen vertrauenswürdigen Vermittler überflüssig, sparen Zeit und ermöglichen eine konsensbasierte Validierung mehrerer Parteien. Sie können für eine Vielzahl von Aktivitäten verwendet werden, beispielsweise für Testamente, Schachspiele und sogar die Übertragung von Urkunden.

Doch trotz des disruptiven Potenzials und der hochgepriesenen Möglichkeiten, die Blockchain verspricht, ist die Zahl der Raubüberfälle, die auf Smart Contracts abzielen, in den letzten zwei Jahren um mehr als das Zwölffache gestiegen. Wenn die Verträge so intelligent sind, warum erleben wir dann einen derart massiven Anstieg der Raubüberfälle?

Zum besseren Verständnis klären wir die Beziehung zwischen Blockchain und Smart Contracts.

Dezentralisierung

Stellen Sie sich ein Blockchain-Netzwerk wie Amazons AWS-Plattform vor und jeden seiner Smart Contracts als Server. Bei Blockchain gibt es keinen einzelnen zentralen Server, den Hacker ausnutzen könnten. Das erschwert Cyberkriminellen den Einsatz traditioneller Hacking-Methoden wie Trojaner, physische Angriffe und Ransomware. Blockchain begegnet diesen Angriffen, indem es den Single Point of Failure eines Netzwerks eliminiert.

Während ein Blockchain-Netzwerk nicht direkt gehackt werden kann, ist dies bei vielen verteilten Apps und Smart Contracts, die durch Blockchain ermöglicht werden, möglich.

Dank des allmählich wachsenden Erfolgs und Einflusses von dezentralen Finanzsystemen (DeFi) werden große Wertmengen durch Smart Contracts geleitet, was sie für Hacker attraktiv macht. Und diese Bedrohung wird wahrscheinlich nur noch zunehmen, da mit der Zunahme tokenisierter realer Vermögenswerte immer mehr Vermögenswerte in die Blockchain verschoben werden. Hacking stellt eine ernsthafte Bedrohung für diesen aufstrebenden Blockchain-Sektor dar, da aus Smart Contracts gestohlene Vermögenswerte äußerst schwer wiederherzustellen sind.

Bedrohungen für Smart Contracts

Wie bei jedem Code können auch bei Smart Contracts menschliche Fehler auftreten. Diese Fehler können in Form von Tippfehlern, falschen Angaben zu Spezifikationen oder schwerwiegenderen Fehlern auftreten, die dazu verwendet werden können, den Smart Contract zu hacken oder zu „überlisten“. Im Gegensatz zur Blockchain gibt es keine Garantie dafür, dass die Verträge von Experten überprüft oder validiert wurden.

Während fehlerhafte Codierung durch ein Smart-Contract-Audit vermieden werden kann, sind andere Bedrohungen komplexer. Die Standardsichtbarkeitsschwachstelle ist beispielsweise ein häufiger Fehler, der auftritt, wenn die Sichtbarkeit von Funktionen nicht angegeben ist und bestimmte Funktionen öffentlich bleiben. Hacker könnten beispielsweise auf die Mint-Funktion zugreifen und Milliarden relevanter Token erstellen. Glücklicherweise kann diese Schwachstelle verhindert werden, indem ein Audit ausgeführt wird, das sicherstellt, dass alle Funktionen standardmäßig auf privat eingestellt sind.

Eine weitere, kompliziertere und ernstere Bedrohung durch Codierungsfehler ist ein Reentrancy-Angriff. Dies geschieht, wenn ein Angreifer die externen Funktionsaufrufe des Smart Contracts ausnutzt und einen bösartigen Smart Contract einsetzt, um mit demjenigen zu interagieren, der die Gelder verwaltet.

2016 zeigte der DAO-Vorfall, der sich in den frühen Tagen von Ethereum ereignete, wie gefährlich diese Art von Angriff sein kann und führte letztlich zur Schaffung von Ethereum Classic. Reentrancy-Angriffe zu verhindern ist nicht einfach, aber es gibt Frameworks und Protokolle, die den Schaden abmildern können, darunter CEI (Check, Effects and Interactions), Reentrancy Guards und mehr.

Wenn Sie sich mit Smart-Contract-Code auskennen, ist das Lesen des Codes selbst immer ein großer Vorteil. So wie das Lesen eines Vertrags vor dem Einzug in eine neue Wohnung Sie vor Überraschungen schützt, kann die Fähigkeit, den Code eines Smart Contracts zu lesen, Fehler, bösartige Funktionen oder Features aufdecken, die nicht funktionieren oder keinen Sinn ergeben.

Wenn Sie jedoch ein Endbenutzer sind, der nicht besonders technisch versiert ist, verwenden Sie nur Smart Contracts mit öffentlich zugänglichem Code, der weit verbreitet ist. Dies ist im Gegensatz zu kompilierten Smart Contracts, bei denen der Code verborgen ist und von Benutzern nicht überprüft werden kann, die bevorzugte Option.

Beheben von Schwachstellen bei Smart Contracts

Vergessen wir nicht, dass sich die meisten Smart-Contract-Administratoren einige Administratorrechte einräumen, normalerweise um nach dem Start Änderungen vorzunehmen. Um auf diese Rechte zuzugreifen, müssen die Administratoren ihre privaten Schlüssel verwenden. Diese privaten Schlüssel stellen eine weitere Schwachstelle dar, und wenn sie nicht ordnungsgemäß verwahrt werden (z. B. in einem Offline-Tresor), können Hacker, die sich irgendwie Zugriff verschaffen, Änderungen am Smart Contract vornehmen und die Gelder dorthin schleusen, wo sie wollen.

Kürzlich hat das Europäische Parlament den Einsatz eines Kill-Switch-Mechanismus angeordnet, um den Schaden zu begrenzen, falls ein Smart Contract kompromittiert wird. Obwohl die Absicht der Regulierungsbehörden darin bestand, den Menschen mehr Schutz für ihre persönlichen Daten zu bieten, hat das Gesetz in der Web3-Community Bedenken hervorgerufen.

Bei unsachgemäßer Implementierung könnte ein Kill Switch den gesamten Smart Contract und alle darauf gespeicherten Werte zerstören. Eine bessere Implementierung wäre die Aktivierung einer Pausenfunktion, die den Smart Contract im Falle einer Sicherheitsbedrohung einfrieren und nach Behebung des Problems erneut aktivieren könnte.