Smart Contract Audit

Was ist ein Smart Contract? Wozu brauche ich einen Audit? Diese Fragen werden im Artikel geklärt, inkl. einer Liste der größten Hacks, die auf Smart Contracts zurück zu führen sind.

Was ist ein Smart Contract?

Ein Smart Contract wie ein kleines Programm oder Skript, welches auf der Blockchain läuft. Nicht alle Blockchains erlauben Smart Contracts, die Größte ist Ethereum, mit der Programmiersprache Solidity. Auch andere größere Blockchains können mit Smart Contracts ausgestattet werden, wie z. B. Solana oder Cardano.

Ein Smart Contract kann eine ganz simple „Wenn dies, dann das“ Anwendung sein. Für Finanzierungen werden diese häufig genutzt.

Will ich in ein Projekt investieren, interagiere ich mit einem Smart Contract und teile ihm mit „ich gebe dem Projekt 2 ETH“ und der Smart Contract verschickt diese von meiner Wallet zur Wallet des Projektes. Im Gegenzug erhalte ich deren projekteigene Token zurück auf meine Wallet, in Abhängigkeit meines Investments. Auch beim aktuell populären Minten von NFTs werden Smart Contracts auf ähnlichem Wege eingestetzt.

Warum sind Smart Contracts ein Risiko?

Jedes Programm kann Fehler in der Programmierung enthalten. Auch simple Smart Contracts. Der Vorteil bei diesen liegt jedoch darin, dass sie öffentlich einsehbar sind. Jeder mit Wissen, kann also vor Nutzung eine Prüfung vornehmen.

Jedoch können Kleinigkeiten im Programm als Angriffziel genutzt werden. Hier wird an einem kleinen Spiel genau erklärt, wo das Problem liegt und wie man es lösen könnte. Grob beschrieben ist in dem „Spiel“ der Sieger, welcher 5 ETH erreicht hat. Ein Angreifer könnte also einfach direkt 5 ETH zum Spiel senden und hat direkt gewonnen und erhält dadurch den Gewinn (und seine 5 ETH zurück).

Jede Interaktion mit einem Smart Contract sollte also genau überlegt sein. Und auch nachträglich können Smart Contract „gehackt“ werden, wodurch man ein Jahr nach Interaktion noch Nachteile erhält und, im Zweifel, sogar alle Token auf der eigenen Wallet verlieren kann.

Attack Vendors – Was kann passieren?

  • Reentrancy Attack
    Intra- und Interfunktions-Rentrancy-Angriffe
  • Orcale Manipulation
    Manipulation von externen Datenanbietern (Orakel)
  • Access Control
  • Arithmetic Problems
    Ganzzahlige Überläufe und Unterläufe
  • Unaudited return values for Low Level Calls
  • Denial of Service
    DoS-Angriffe durch unerwartete Reverts und das Blockgas-Limit
  • Bad Randomness
  • Front-Running
  • Time Manipulation
  • Short Adress Attack
  • Griefing
    Angriffe, die sich auf bösgläubige Spieler rund um ein Smart-Contract-System beziehen
  • Force Feeding
    Erzwingen der Übermittlung von Ether an Smart Contracts zur Manipulation von Gleichgewichtskontrollen

Weiterführende Links

Wie schützt man sich?

Der einfachste Schutz ist, nicht mit Smart Contracts zu interagieren. Doch dies hindert einen an vielen Projekten teilzunehmen und oft auch am Kauf/Verkauf von Tokens.

Es ist möglich die Smart Contracts selbst zu prüfen, dies können aber nur die wenigsten Menschen, aber eine grobe Prüfung nach den wichtigsten Angriffsstellen kann man vornehmen.

Aber es gibt zwei kostenlose Tools, mit denen man grobe Audits/Checks machen kann:

  • honeypot.is
    Grobe Prüfung, ob ein Token als Honeypot bereits bekannt ist und man besser nicht investieren sollte
  • rugdoc.io
    News, Honeypot Informationen, Launch Kalender; die Seite bietet viele Informationen

Zudem gibt es immer wieder Smart Contract Audits, bei denen von Externen geprüft wird, wie sicher dieser ist. Es gibt bereits einen Smart Contract Audit Marktplatz, auf welchem sich Auditoren und Projekte „finden“ können.

Hat man bereits mit einem Smart Contract interagiert und es lief kein Audit, der die Sicherheit bestätigt, so sollte man die Verbindung zum Projekt lösen. Dazu gibt es die Möglichkeit innerhalb der Wallets oder auch per revoke.cash.

Die größten Smart Contract Hacks

  • CREAM Finance – 130 Millionen Dollar
  • Compound Finance – 147 Millionen Dollar
  • Poly Network – 610 Millionen Dollar
  • The DAO – 70 Millionen Dollar
    Die DAO wurde bereits in 2016 gehackt, damals wurden ca. 3,6 Millionen ETH gestohlen. Durch den Rollback und die Aufsplittung von ETH & ETC wurde dies teilweise abgefangen. Bei aktuellem Kurs wären es immer noch knapp 100 Millionen.
    Dies war der erste bekannte große Hack eines Smart Contracts. Die DAO wurde danach aufgelöst.

Schreibe einen Kommentar