Autor: Aufschlussreich
Zusammengestellt von: Shechao TechFlow
Haftungsausschluss
Nichts in diesem Handbuch ist garantiert und nicht aus der Perspektive eines „Verschlüsselungs- oder Cybersicherheitsexperten“ geschrieben, sondern basiert auf kontinuierlichem Lernen aus verschiedenen Quellen und persönlicher Erfahrung.
Zum Beispiel wurde ich selbst aus Angst, etwas zu verpassen (FOMO) und Gier betrogen, als ich das Feld zum ersten Mal betrat (gefälschter Live-Streaming-Betrug und gefälschter MEV-Bot-Betrug), also nahm ich mir die Zeit, sorgfältig zu lernen, einzurichten und zu verstehen Sicherheit.
Seien Sie nicht die Person, die gezwungen ist, Sicherheit zu lernen, weil sie alles oder einen Großteil ihres Vermögens verloren hat.
Hacking oder Benutzerfehler?
„Hacks“ oder Kompromittierungen aller Arten von Wallets, Token oder NFTs lassen sich grob in zwei Kategorien einteilen:
Missbrauch einer zuvor erteilten Token-Genehmigung.
Verlust des privaten Schlüssels oder der mnemonischen Phrase (kommt normalerweise bei Hot Wallets vor).
Token-Genehmigung
Bei der Token-Genehmigung handelt es sich im Wesentlichen um die Erlaubnis, einem Smart Contract den Zugriff auf eine bestimmte Art oder Menge von Token in Ihrem Wallet zu erlauben und diese zu verschieben.
Zum Beispiel:
Erteilen Sie OpenSea die Erlaubnis, Ihr NFT zu verschieben, damit Sie es verkaufen können.
Erteilen Sie Uniswap die Erlaubnis zum Austausch mit Ihren Token.
Als Hintergrundinformation: Grundsätzlich ist alles im Ethereum-Netzwerk außer der ETH ein ERC-20-Token.
Eine Funktion von ERC-20-Tokens ist die Möglichkeit, Genehmigungsberechtigungen für andere Smart Contracts zu erteilen.
Wenn Sie grundlegende DeFi-Interaktionen durchführen möchten (z. B. den Austausch oder die Überbrückung von Token), sind diese Genehmigungen irgendwann erforderlich.
NFTs sind ERC-721- bzw. ERC-1155-Token; ihr Genehmigungsmechanismus ähnelt dem von ERC-20, jedoch für den NFT-Markt.
Die erste Aufforderung zur Token-Genehmigung von MetaMask (MM) liefert mehrere Informationen, von denen die relevantesten sind:
Sie gewähren genehmigte Token
Die Website, mit der Sie interagieren
Der Smart Contract, mit dem Sie interagieren
Möglichkeit, die Anzahl der Token-Berechtigungen zu bearbeiten
Im Dropdown-Menü „Vollständige Details“ sehen wir eine zusätzliche Information: Genehmigungsfunktionen.
Alle ERC-20-Token müssen bestimmte Merkmale und Eigenschaften aufweisen, die im ERC-20-Standard festgelegt sind.
Eine davon ist die Fähigkeit von Smart Contracts, Token auf der Grundlage eines genehmigten Betrags zu verschieben.
Die Gefahr bei diesen Genehmigungen besteht darin, dass Ihre Vermögenswerte gestohlen oder aufgebraucht werden können, wenn Sie einem böswilligen Smart Contract Token-Berechtigungen erteilen.
Unbegrenzte vs. benutzerdefinierte Limit-Genehmigungen (ERC-20-Tokens)
Viele DeFi-Apps werden Sie standardmäßig zur unbegrenzten Genehmigung von ERC-20-Tokens auffordern.
Dies geschieht, um das Benutzererlebnis zu verbessern, da es bequemer ist und in Zukunft keine zusätzlichen Genehmigungen erfordert, wodurch Zeit und Gasgebühren gespart werden.
Warum ist das wichtig?
Die Genehmigung einer unbegrenzten Anzahl von Token kann Ihr Kapital gefährden.
Durch manuelles Festlegen einer Token-Genehmigung auf einen bestimmten Betrag wird die maximale Anzahl an Token begrenzt, die die dApp verschieben kann, ohne eine neue, größere Genehmigung zu unterzeichnen.
Dies verringert Ihr Risiko, wenn Ihr Smart Contract ausgenutzt wird. Wenn Sie einer dApp unbegrenzte Genehmigung erteilen und diese dApp anfällig wird, verlieren Sie möglicherweise alle genehmigten Token aus der Wallet, die diese Vermögenswerte enthält und diese Genehmigung erteilt hat.
Beispielsweise ist Multichain WETH (WETH ist ein ERC-20-Token-Wrapper für ETH) von einer solchen Sicherheitslücke betroffen.
Diese häufig verwendete Brücke wurde durch den Missbrauch zuvor unbegrenzter Token-Rechte kompromittiert, was zum Diebstahl von Benutzergeldern führte.
Nachfolgend finden Sie ein Beispiel (unter Verwendung des Zerion-Wallets), das zeigt, wie die standardmäßige unbegrenzte Genehmigung in eine manuelle Genehmigung geändert wird.
NFT-Zulassung
„setApprovalForAll“ für NFT
Dies ist eine häufig verwendete, aber potenziell gefährliche Genehmigung, die normalerweise einem vertrauenswürdigen NFT-Marktplatz erteilt wird, wenn Sie einen NFT verkaufen möchten.
Dadurch können die Smart Contracts des Marktplatzes Ihre NFTs übertragen. Wenn Sie also einen NFT an einen Käufer verkaufen, können die Smart Contracts des Marktplatzes den NFT automatisch an den Käufer übertragen.
Diese Genehmigung gewährt Zugriff auf alle NFT-Tokens an einer bestimmten Sammlungs- oder Vertragsadresse.
Dies könnte auch von böswilligen Websites oder Verträgen genutzt werden, um Ihre NFTs zu stehlen.
Beispiele für böswillige Akteure, die „setApprovalForAll“ missbrauchen
Die klassische „Wallet-Konto-Schrumpfung“ im Fall von FOMO Free Minting sieht so aus:
Ein Benutzer besucht eine bösartige Website, die er für legitim hält.
Wenn sie ihr Wallet mit einer Website verbinden, kann die Website nur den Inhalt des Wallets sehen.
Die bösartige Website durchsucht jedoch das Wallet nach dem NFT mit dem höchsten Wert und fordert den Benutzer auf, „Alle Genehmigungen festlegen“ von MetaMask (MM) für die Vertragsadresse dieses NFT festzulegen.
Benutzer, die denken, sie würden NFTs prägen, erteilen in Wirklichkeit einem böswilligen Vertrag die Erlaubnis, diese Token zu übertragen.
Die Betrüger stehlen dann die Token und verkaufen sie in Gebote auf OpenSea oder Blur, bevor der Gegenstand als gestohlen markiert wird.
Unterschrift und Genehmigung
Für Genehmigungen sind Gasgebühren erforderlich, da sie eine Transaktionsabwicklung erfordern.
Das Signieren erfordert kein Gas und wird normalerweise verwendet, um sich bei einer dApp anzumelden und zu beweisen, dass Sie die Kontrolle über das Wallet haben.
Das Signieren ist im Allgemeinen ein Vorgang mit geringem Risiko, kann jedoch dennoch dazu verwendet werden, zuvor erteilte Genehmigungen für vertrauenswürdige Websites wie OpenSea auszunutzen.
Für ERC-20-Tokens können Sie Ihre Genehmigungen auch über gaslose Signaturen ändern, da die Berechtigungsfunktion kürzlich auf Ethereum eingeführt wurde.
Sie können dies sehen, wenn Sie eine dezentrale Börse (DEX) wie 1 Zoll verwenden.
Token-Genehmigungspunkte
Seien Sie bei der Erteilung von Genehmigungen vorsichtig und stellen Sie sicher, dass Sie wissen, welche Token Sie genehmigen und für welchen Smart Contract (verwenden Sie Etherscan).
Begrenzen Sie Ihr Genehmigungsrisiko:
Verwenden Sie mehrere Wallets (Genehmigungen sind Wallet-spezifisch) – unterzeichnen Sie keine Genehmigungen für Ihre Tresore oder hochwertigen Wallets.
Reduzieren Sie im Idealfall die Erteilung unbegrenzter Genehmigungen für ERC-20-Token oder verzichten Sie ganz darauf.
Überprüfen und widerrufen Sie Genehmigungen regelmäßig über etherscan oder revoke.cash.
Hardware/Cold Wallet
Hot Wallets stellen über Ihren Computer oder Ihr Telefon eine Verbindung zum Internet her und die Schlüssel und Wallet-Anmeldeinformationen werden online oder lokal in Ihrem Browser gespeichert.
Bei Cold Wallets handelt es sich um Hardwaregeräte, bei denen Schlüssel vollständig offline und physisch in Ihrer Nähe generiert und gespeichert werden.
Wenn man bedenkt, dass ein Ledger etwa 120 US-Dollar kostet, sollten Sie wahrscheinlich ein Ledger kaufen und einrichten, wenn Sie mehr als 1.000 US-Dollar an Kryptowährungen haben. Sie können Ihr Ledger-Wallet mit Ihrer MetaMask (MM) verbinden, um die gleiche Funktionalität wie andere Hot Wallets zu genießen und gleichzeitig ein gewisses Maß an Sicherheit zu gewährleisten.
Ledger und Trezor sind die beliebtesten Optionen. Ich mag Ledger, weil es die beste Kompatibilität mit Browser-Wallets hat (ähnlich wie Rabby und MM).
Best Practices beim Kauf von Ledger
Kaufen Sie immer auf der offiziellen Website des Herstellers, niemals bei Ebay oder Amazon – es könnte manipuliert sein oder Malware vorinstalliert sein.
Stellen Sie sicher, dass die Verpackung versiegelt ist, wenn Sie den Artikel erhalten.
Wenn Sie ein Ledger zum ersten Mal einrichten, generiert es eine mnemonische Phrase.
Schreiben Sie Ihren Merksatz nur auf Papier oder in Zukunft auf eine Stahlplatte, um sicherzustellen, dass Ihr Merksatz feuer- und wasserbeständig ist.
Fotografieren oder tippen Sie die mnemonische Phrase niemals auf einer Tastatur (auch auf Mobiltelefonen) – dadurch wird die mnemonische Phrase digitalisiert und Ihr Cold Wallet wird zu einem ungesicherten Hot Wallet.
Kryptoassets werden nicht auf einem Hardware-Wallet gespeichert, sondern „in“ einem Wallet, das aus einer mnemonischen Phrase generiert wird.
Die mnemonische Phrase (12–24 Wörter) ist alles, was dazu gehört, und muss um jeden Preis geschützt und sicher sein.
Es bietet vollständige Kontrolle und Zugriff auf alle unter dieser mnemonischen Phrase generierten Wallets.
Die mnemonische Phrase ist nicht gerätespezifisch und Sie können sie bei Bedarf als Backup in eine andere Hardware-Wallet „importieren“.
Wenn die mnemonische Phrase verloren geht oder beschädigt wird und auch die ursprüngliche Hardware-Wallet verloren geht, beschädigt oder gesperrt wird, verlieren Sie dauerhaft den Zugriff auf alle Vermögenswerte.
Es gibt verschiedene Möglichkeiten, Mnemoniken aufzubewahren, z. B. indem man sie in Teile teilt, den physischen Abstand zwischen den Teilen vergrößert oder sie an einem unauffälligen Ort aufbewahrt (z. B. in einer Suppendose am Boden des Kühlschranks, irgendwo unter der Erde auf Ihrem Grundstück usw.). .
Sie sollten mindestens 2-3 Exemplare haben, davon eines aus Stahl zum Schutz vor Wasser und Feuer.
Ein „privater Schlüssel“ ähnelt einer mnemonischen Phrase, ist jedoch nur spezifisch für eine bestimmte Wallet. Es wird typischerweise zum Importieren von Hot Wallets in neue MetaMask (MM)-Konten oder zur Verwendung in automatisierten Tools wie Trading-Bots verwendet.
Wort 25 – Hauptbuch
Zusätzlich zur ursprünglichen mnemonischen Phrase mit 24 Wörtern bietet Ledger optional eine zusätzliche Sicherheitsfunktion.
Passphrase ist eine erweiterte Funktion, die Ihrer Wiederherstellungsphrase ein 25. Wort Ihrer Wahl mit bis zu 100 Zeichen hinzufügt.
Durch die Verwendung einer Passphrase wird ein völlig anderer Satz von Adressen generiert, auf die mit nur einer 24-Wörter-Wiederherstellungsphrase nicht zugegriffen werden kann.
Passphrasen bieten nicht nur eine zusätzliche Sicherheitsebene, sondern bieten auch eine angemessene Abstreitbarkeit, wenn Sie kompromittiert werden.
Wenn Sie eine Passphrase verwenden, achten Sie darauf, diese sicher aufzubewahren oder sich diese genau zu merken, wobei Sie Zeichen für Zeichen und Groß-/Kleinschreibung beachten müssen.
Dies ist die einzige und endgültige Verteidigung gegen eine physisch bedrohliche Situation wie den 5-Dollar-Schraubenschlüsselangriff.
Warum sollte man sich so viel Mühe machen, eine Hardware-Wallet einzurichten?
Hot Wallets speichern private Schlüssel an einem Ort, der mit dem Internet verbunden ist.
Es ist extrem leicht, ausgetrickst, in die Irre geführt und manipuliert zu werden, um diese Anmeldeinformationen über das Internet preiszugeben.
Ein Cold Wallet zu haben bedeutet, dass Betrüger Ihr Ledger oder Ihre Mnemonik-Phrase physisch finden und erhalten müssen, um auf diese Wallets und die darin enthaltenen Vermögenswerte zuzugreifen.
Sobald die mnemonische Phrase kompromittiert ist, sind alle Hot Wallets und die darin enthaltenen Vermögenswerte gefährdet, auch diejenigen, die nicht mit bösartigen Websites oder Verträgen interagiert haben.
In der Vergangenheit wurden häufig Menschen „gehackt“.
Zu den häufigsten Methoden, auf denen Menschen in der Vergangenheit durch Hot Wallets „gehackt“ wurden (Mnemonik-Phrasen durchsickern ließen), gehören:
Sie wurden dazu verleitet, Malware herunterzuladen, beispielsweise durch Stellenangebots-PDFs, Beta-Spiele, die Ausführung von Makros über Google Sheets oder die Nachahmung legitimer Websites und Dienste.
Interaktion mit böswilligen Verträgen: FOMO-Minting auf gefälschten Websites oder Interaktion mit unbekannten Airdrops oder NFT-Verträgen.
Geben Sie den Schlüssel und die mnemonische Phrase ein oder senden Sie sie an den Kundendienst oder ein entsprechendes Programm/Formular.