Smart Contracts nicht ganz so schlau: 3 % mit Sicherheitslücken

Dr. Philipp Giese

von Dr. Philipp Giese

Am · Lesezeit: 5 Minuten

Dr. Philipp Giese

Dr. Philipp Giese arbeitet als Chief Analyst für BTC-ECHO und ist auf die Bereiche Chartanalyse und Technologie spezialisiert. Der promovierte Physiker kann dabei auf jahrelange Berufserfahrung als technologischer Berater zurückgreifen. Zudem ist er zentraler Ansprechpartner im Discord-Channel von BTC-ECHO und pflegt als Speaker und Interviewer den Austausch mit Startups, Entwicklern und Visionären.

Quelle: Abstract high tech circuit board with hacker bug on the dark background. Hacking and cyber crime. Personal data security concept. Network security technology. Computer virus attack

Teilen
BTC16,982.76 $ -0.84%

Eine Studie hat 34.200 Sicherheitslücken in Smart Contracts auf Ethereum-Basis finden können. Mit fast einer Million überprüften Verträgen entspricht das immerhin 3 % der getesteten Smart Contracts. Was bedeutet das für zukünftige Investments in ICOs?

Smart Contracts sind wahrscheinlich das Merkmal, welches als erstes mit Ethereum assoziiert ist. Das Konzept hinter Smart Contracts wurde lange zuvor von Nick Szabo im Jahr 1994 definiert. Ihm zufolge ist ein Smart Contract ein automatischer Prozess, der vertraglich geregelt ist. Das Abheben von Geld am Geldautomaten ist ein anschauliches Beispiel eines solchen Smart Contracts.


So weit, so banal. Dank der Blockchain-Technologie werden diese Smart Contracts jedoch zusätzlich transparent und können ihr Potenzial vollkommen ausspielen. Sie sind während der Laufzeit einsehbar, wodurch aus einem Open-Source-System ein Open-Execution-System wird und ein Smart Contract durch diese Transparenz wirklich ein Vertrag sein kann.

Zu Zeiten der DAO, einem dezentralen Venture Fund im Jahr 2016, war deshalb ein oft gehörtes Bonmot “The Code is the Law” – Der Code ist das Gesetz.

Die Schattenseiten dieser Aussage musste man leider im Zuge des DAO-Exploits kennenlernen: Eine auch heute noch unbekannte Person beziehungsweise Personengruppe hat DAO Ether im Wert von 60 Millionen US-Dollar entwendet. Dies wurde nicht durch einen Hack, sondern eine Sicherheitslücke im Smart Contract hinter der DAO möglich.

Und das war beileibe nicht die einzige Sicherheitslücke: Der Smart Contract, der der Parity-Multi-Signature-Wallet zugrundelag, wurde aus Versehen gelöscht, wodurch Ether im Wert von 230 Millionen US-Dollar eingefroren wurden.

3 % der Smart Contracts haben Sicherheitslücken

Nun haben Nikolic et al ein Paper zu dem Thema „Sicherheitslücken in Smart Contracts“ verfasst. Verschiedene News-Portale haben durch eine geschickte Titelwahl den Fokus auf 34.200 Sicherheitslücken gelegt. Der Markt hat prompt reagiert, sodass der Ethereum-Kurs um 9 % fiel. In den Artikeln wird zwar auf die Gesamtzahl der untersuchten Smart Contracts eingegangen, jedoch wäre eine Prozentangabe in der Überschrift wahrscheinlich weniger dramatisch.

Jedenfalls hat man in 34.200 Smart Contracts – bei einer Stichprobe von 971.000 untersuchten Codes – Sicherheitslücken gefunden. Das entspricht einem Prozentsatz von 3 %.

Das klingt an sich nicht nach viel – jedenfalls deutlich banaler als Angaben über 30.000! In verschiedenen Branchen könnten Hersteller mit einer Ausfallquote von 3 % leben. Für den ICO-Investor und den Nutzer von Smart Contracts bedeutet das jedoch, dass Vorsicht geboten sein sollte. In diesem Kontext dient die Veröffentlichung einer notwendigen Sensibilisierung, nicht jedoch einer Panikmache.

Tool-Entwicklung zur Fehlerprävention

Zur Untersuchung von Smart Contracts hat das Autorenteam ein Tool namens MAIAN entwickelt, mit welchem sie alle bis Ende 2017 auf der Ethereum-Blockchain vorhandenen Smart Contracts überprüft hatten.

Im Paper selbst werden sogenannte Trace Vulnerabilities beleuchtet, sprich Sicherheitslücken, die auftreten, wenn ein Smart Contract mehrfach hintereinander aufgerufen wird. Konkret werden drei Arten von Sicherheitslücken unterschieden:

  • Suizidale Sicherheitslücken können von einem Nutzer aus Versehen zerstört werden. Parity war hierfür ein Beispiel.
  • Geizige Sicherheitslücken verwehren Nutzern den Zugang zu ihren eigenen Funds. Parity wäre hierfür ein indirektes Beispiel: Nachdem der Parity-Contract dank der suizidalen Sicherheitslücke zerstört wurde, konnten andere Contracts, die diesen konkreten Contract nutzten, dies nicht mehr tun und wurden so eine geizige Sicherheitslücke.
  • Verschwenderische Sicherheitslücken bezeichnet man Lücken, in denen an nicht vorgegebene Adressen Funds geschickt werden können. Ein Beispiel dafür wäre der DAO exploit, in dem die Funds aus der DAO in eine neue Adresse abgeführt wurden.

Posthume Sicherheitslücken sind noch ein weiterer Spezialfall: Ein Suizidaler Contract mag nicht mehr funktionieren, seine Ethereum-Adresse existiert jedoch noch auf der Ethereum-Blockchain. Ether, welches an die Adresse gesandt wird, kann nicht mehr zurückgefordert werden.

Zwei zentrale Ergebnisse der Untersuchungen sind, dass ein Großteil, genauer gesagt 99 % der Smart Contracts, nicht in einem lesbaren Solidity-Format auf der Blockchain gespeichert sind. Es werden also Tools benötigt, mit denen der Bytecode untersucht werden kann. Allein deshalb ist zu hoffen, dass das MAIAN-Tool bald dem freien Markt zugänglich gemacht wird.

Doch auch bei den lesbaren Artikeln ist darauf zu achten, dass erstens oft mit Legacy Code gearbeitet wird. Einige Sicherheitslücken wurden in neueren Solidity-Versionen schon behoben. Es ist jedoch zu berücksichtigen, dass das, was auf der Ethereum Blockchain ausgeführt ist, nicht der Solidity-Code selbst, sondern eine in Bytecode kompilierte Version des Smart Contracts ist. Das bedeutet, dass diese Sicherheitslücken in mit alten Solidity-Versionen geschriebenen Smart Contracts nicht behoben sind.

Zweitens ist es nicht einfach der einzelne Smart Contract, der ausgeführt wird. Es gab beispielsweise viele Smart Contracts, die auf die Library von Parity zugriffen und entsprechend ebenso von dem Parity Bug betroffen haben.

Code-Testing als Due Dilligence

Als Lektionen aus dem Paper kann man Folgendes zusammenfassen: Überprüft die Smart Contracts! Natürlich kann nicht jeder ein passionierter Solidity-Programmierer werden, aber zum einen kann darauf geachtet werden, ob zu einem Smart Contract auch ein für Menschen lesbarer Source Code verfügbar ist. Da man nicht der einzige sein wird, der auf den Code schaut, kann auf die Kraft der Crowd vertraut werden; vielleicht fällt jemand anderem ein Fehler auf.

Zum anderen sollte man darauf achten, ob Formulierungen wie xxx is yyy vorkommen. Mit derartigem Code werden Funktionen anderer Smart Contracts verwendet, sodass der ursprüngliche Smart Contract ebenfalls überprüft werden sollte.

Insgesamt gilt also wie bei jedem anderen Investment: Augen auf halten und immer gesund kritisch sein!

BTC-ECHO

Anzeige

Bitcoin, Aktien, Gold und ETFs in einer App handeln!

Zuverlässig, Einfach, Innovativ - Deutschlands beliebteste Finanzinstrumente einfach und sicher handeln.

Die Vorteile:
☑ Kostenloses 40.0000 EUR Demokonto
☑ Registrierung in nur wenigen Minuten
☑ PayPal Ein-/Auszahlung möglich
☑ 24/7 verfügbar + mobiler Handel

Zum Anbieter

76,4% der Kleinanlegerkonten verlieren Geld beim CFD-Handel mit diesem Anbieter [Anzeige].


Teilen

Die aktuellsten News kostenlos per E-Mail

Ich stimme zu, dass meine E-Mail-Adresse für den Versand des Newsletters gespeichert und verarbeitet wird. Weitere Hinweise

Kryptokompass #41 – inkl. gratis Prämie (u.a. Ledger Nano S)

Der passende Krypto-Portfolio für jeden Anleger

Kryptokompass #41 – inkl. gratis Prämie (u.a. Ledger Nano S)

Der passende Krypto-Portfolio für jeden Anleger

Das Bitcoin & Blockchain Szene Magazin

In Print und Digital verfügaber

Neue Investmentchancen verstehen und ergreifen

Jeden Monat über 50 Seiten Insights, Analysen, KnowHow

Streng limitiert: Inkl. gratis Prämie im Abo

Gratis Ledger Nano S, 30€ Amazon Gutschein oder 24 Karat vergoldete Bitcoin Münze

BTC-ACADEMY

Kryptowährungen einfach handeln

Plus500 der führende CFD Anbieter

  • Direkt mobil handeln
  • Einzahlung per Kreditkarte oder PayPal
  • Bitcoin,Ether,IOTA,Ripple, uvm.
  • inkl. Demokonto

76,4% der Kleinanlegerkonten verlieren Geld beim CFD Handel mit diesem Anbieter