Zum Inhalt springen
Warum sind Token-Approvals ein Risiko für meine Sicherheit und wie revoke ich?

Warum sind Token-Approvals ein Risiko für meine Sicherheit und wie revoke ich?

Es ist eine wesentliche Pflichtaufgabe für Ihre Sicherheit auf der Blockchain:
Überprüfen Sie Ihre Smart-Contract-Genehmigungen und widerrufen Sie Approvals regelmäßig.

Was sind Token Approvals?

Als Approval wird die Erlaubnis für den Vertragspartner bezeichnet, über eine bestimmte Anzahl von Token verfügen zu dürfen. Solch eine Erlaubnis (auch Approval oder Allowance) wird für so gut wie jede Transaktion auf der Blockchain und vor allem bei der Interaktion mit dApps benötigt, zum Beispiel:

  • Token A in Token B swappen,
  • Token in ein Staking geben,
  • LP-Token bilden aus zwei Token.

Approvals sind ein durchaus nützlicher Sicherheitsmechanismus, weil sie – richtig eingesetzt – erlauben, über die Verwendung meines Eigentums explizit zu entscheiden.

Welche Probleme bestehen bei Token-Approvals?

Erstens ist das Approval dauerhaft. Zwar werden ablaufende Approvals, also solche, die zeitlich beschränkt sind, regelmäßig als Feature-Requests diskutiert, umgesetzt sind derzeit die meisten Approvals aber permanent gültig, also solange, bis ich sie widerrufe.

Zweitens lauten die Approvals meistens über einen zu hohen oder gar unlimitierten Wert. Für Smart Contract-Inhaber ist es praktisch, sich eine unlimitierte Freigabe über Token zu holen – für den Anwender stellen solche Allowances ein unnötiges Sicherheitsrisiko dar.

Durch diese beiden Faktoren besteht also oft ein andauernder und unlimitierter Zugriff auf die eigene Wallet. Selbst seriöse Contract-Partner, wie angesehene und populäre DEX, können Opfer sein von Bugs, Hacks, Exploits und Vorgängen in betrügerischen Absichten. Beim MarketMove-Exploit (Link zur Beschreibung) wurde eine Schwachstelle im Contract genutzt, um Monate nach der Interaktion mit dem Smart Contract über noch bestehende Token-Freigaben verschiedene Coins in unlimitierter Höhe zu stehlen.

Sicherheitsmaßnahmen bei Approvals: Von der Erteilung bis zum Revoking

Mit ein paar Maßnahmen können Sie Ihre Sicherheit drastisch erhöhren und das Risiko verringern, dass Token Approvals irgendwann mal ein Problem für Sie werden.

  1. Überprüfen Sie, wem und warum Sie Token-Approvals gewähren; prüfen Sie jedes Approval auf Plausibilität und achten Sie darauf, mit der richtigen, also legitimen Anwendung hantieren.
  2. Begrenzen Sie Approvals auf einen sinnvollen Wert, direkt bei Erteilung des Approvals in der Wallet-Anwendung.
  3. Prüfen Sie erteilte Token-Approvals regelmäßung und entfernen Sie diese, die Sie nicht regelmäßig aktiv nutzen.

Wie begrenze ich das Approval

Bei der Approval-Anfrage, die ein Smart Contract an Sie stellt, können Sie diese über die Wallet-Oberfläche direkt begrenzen. So ist das zum Beispiel bei der Metamask möglich:

Wann und wie revoke ich?

Widerrufen Sie nicht mehr benötigte Approvals entweder direkt nach der durchgeführten Transaktion und prüfen Sie regelmäßig vorhandene Approvals. Mit den richtigen Tools können Sie diese dann direkt entfernen. Bitte beachten Sie, dass wie für jede andere Transaktion auch Gasgebühren anfallen.

Für das Revoking empfehlen wir das Tool von revoke.cash:

  • revoke.cash ist ein Dienst zum Prüfen und Revoken der Approvals auf verschiedenen Chains: https://revoke.cash
CAKE Revoke auf der BSC mit revoke.cash
CAKE Revoke auf der BSC mit revoke.cash

Auch die Blockchain-Explorer verfügen über eigene Tools zum Revoking von Approvals, welche sich teilweise aber noch im Beta-Stadium befinden, z.B.:

Fragen und Antworten zu Approvals und Revoking

Ich habe Token im Staking. Was passiert, wenn ich zu Zugriff auf diese Token revoke, verliere ich dann den Zugriff auf mein Guthaben?

Das Approval bezieht sich nur auf die Handhabe Ihrer eigenen Token, um diese in das Staking legen zu können. Wenn Sie also Token nachlegen möchten, müssen Sie das Approval erneut vergeben. Um Lösen aus dem Staking, Claiming der Rewards etc. ist kein Approval notwendig. Die Eigentümerschaft beim Staking ist in der Regel im Smart Contract geregelt, also dort ist Ihre Wallet verknüpft.