Autore: PERSICOLOSO
Compilato da: Shenchao TechFlow
Disclaimer
Nulla in questa guida è garantito e non è scritto dal punto di vista di un "esperto di crittografia o sicurezza informatica", ma si basa sull'apprendimento continuo da più fonti e sull'esperienza personale.
Ad esempio, io stesso sono stato truffato a causa della paura di perdere qualcosa (FOMO) e dell'avidità quando sono entrato in campo per la prima volta (falso live streaming truffa e falso bot MEV), quindi mi sono preso il tempo per imparare, configurare e comprendere attentamente sicurezza.
Non essere quella persona che è costretta a imparare la sicurezza perché ha perso tutto o molti dei suoi beni.
Hacking o errore dell'utente?
Gli “hack” o le compromissioni di tutti i tipi di portafogli, token o NFT possono essere sostanzialmente suddivisi in due categorie:
Abuso dell'approvazione simbolica precedentemente concessa.
Perdita di chiavi private o frasi mnemoniche (di solito avviene con gli hot wallet).
Approvazione del gettone
L'approvazione dei token è essenzialmente l'autorizzazione a consentire a uno smart contract di accedere e spostare un tipo o una quantità specifica di token nel tuo portafoglio.
Per esempio:
Concedi a OpenSea il permesso di spostare il tuo NFT in modo da poterlo vendere.
Concedi a Uniswap il permesso di scambiare con i tuoi token.
Come informazione di base, praticamente tutto sulla rete Ethereum, tranne ETH, è un token ERC-20.
Una caratteristica dei token ERC-20 è la capacità di concedere autorizzazioni di approvazione ad altri contratti intelligenti.
Se desideri eseguire interazioni DeFi fondamentali (come lo scambio o il bridging di token), queste approvazioni sono necessarie ad un certo punto.
Gli NFT sono rispettivamente token ERC-721 e ERC-1155, il loro meccanismo di approvazione è simile a ERC-20, ma per il mercato NFT;
La richiesta iniziale di approvazione del token di MetaMask (MM) fornisce diverse informazioni, le più rilevanti delle quali sono:
Stai concedendo token approvati
Il sito web con cui stai interagendo
Il contratto intelligente con cui stai interagendo
Possibilità di modificare il numero di autorizzazioni del token
Nel menu a discesa Dettagli completi, vediamo un'informazione aggiuntiva: Funzionalità di approvazione.
Tutti i token ERC-20 devono avere determinate caratteristiche e proprietà come delineato dallo standard ERC-20.
Uno di questi è la capacità dei contratti intelligenti di spostare i token in base a un importo approvato.
Il pericolo di queste approvazioni è che se concedi autorizzazioni token a uno smart contract dannoso, le tue risorse possono essere rubate o esaurite.
Approvazioni di limiti illimitati e personalizzati (token ERC-20)
Molte app DeFi ti chiederanno l'approvazione illimitata dei token ERC-20 per impostazione predefinita.
Questo viene fatto per migliorare l'esperienza dell'utente poiché è più conveniente e non richiede ulteriori approvazioni in futuro, risparmiando così tempo e tariffe del gas.
Perché è importante?
Consentire l'approvazione per un numero illimitato di token può mettere a rischio il tuo capitale.
L'impostazione manuale dell'approvazione del token su un importo specifico limita il numero massimo di token che la dApp può spostare senza firmare una nuova approvazione più grande.
Ciò riduce il rischio se il tuo contratto intelligente viene sfruttato. Se concedi un'approvazione illimitata a una dApp e tale dApp diventa vulnerabile, potresti perdere tutti i token approvati dal portafoglio che detiene tali risorse e ha concesso tale approvazione.
Ad esempio, Multichain WETH (WETH è un token wrapper ERC-20 per ETH) ha sofferto di tale vulnerabilità.
Questo bridge comunemente utilizzato è stato compromesso per aver abusato dei diritti dei token precedentemente illimitati, con conseguente furto dei fondi degli utenti.
Di seguito è riportato un esempio (utilizzando il portafoglio Zerion) che mostra come modificare l'approvazione illimitata predefinita in approvazione manuale.
Approvazione NFT
"setApprovalForAll" per NFT
Si tratta di un'approvazione comunemente usata ma potenzialmente pericolosa che di solito viene concessa a un mercato NFT affidabile quando si desidera vendere un NFT.
Ciò consente ai contratti intelligenti del mercato di trasferire i tuoi NFT. Pertanto, quando vendi un NFT a un acquirente, i contratti intelligenti del mercato possono spostare automaticamente l’NFT all’acquirente.
Questa approvazione garantisce l'accesso a tutti i token NFT presso uno specifico indirizzo di raccolta o contratto.
Questo potrebbe anche essere utilizzato da siti Web o contratti dannosi per rubare i tuoi NFT.
Esempi di soggetti malintenzionati che abusano di "setApprovalForAll"
La classica "restringimento del conto portafoglio" nel caso del conio gratuito FOMO è così:
Un utente visita un sito Web dannoso che ritiene legittimo.
Quando collegano il loro portafoglio a un sito web, il sito web può solo visualizzare il contenuto del portafoglio.
Tuttavia, il sito Web dannoso esegue la scansione del portafoglio per l'NFT di valore più alto e richiede all'utente di "Impostare tutte le approvazioni" da MetaMask (MM) per l'indirizzo del contratto di tale NFT.
Gli utenti che pensano di coniare NFT stanno in realtà concedendo a un contratto dannoso il permesso di spostare quei token.
I truffatori poi rubano i gettoni e li liquidano in offerte su OpenSea o Blur prima che l'oggetto venga contrassegnato come rubato.
Firma e approvazione
Le approvazioni richiedono tariffe sul gas poiché implicano l'elaborazione delle transazioni.
La firma non richiede gas e viene generalmente utilizzata per accedere a una dApp per dimostrare il controllo del portafoglio.
La firma è generalmente un'operazione a basso rischio, ma può comunque essere utilizzata per sfruttare le approvazioni precedentemente concesse per siti affidabili come OpenSea.
Per i token ERC-20, puoi anche modificare le tue approvazioni tramite firme gas-less, poiché la funzione di autorizzazione è stata recentemente introdotta su Ethereum.
Puoi vederlo se usi uno scambio decentralizzato (DEX) come 1 pollice.
Punti di approvazione dei token
Fai attenzione quando concedi eventuali approvazioni e assicurati di sapere quali token stai approvando e quale contratto intelligente (utilizza etherscan).
Limita il rischio di approvazione:
Utilizza più portafogli (le approvazioni sono specifiche del portafoglio): non firmare approvazioni per i tuoi depositi o portafogli di alto valore.
Idealmente, ridurre o evitare completamente la concessione di approvazioni illimitate per i token ERC-20.
Le approvazioni vengono controllate e revocate periodicamente tramite etherscan o revoke.cash.
Portafoglio hardware/cold
Gli hot wallet si connettono a Internet tramite il tuo computer o telefono e le chiavi e le credenziali del portafoglio vengono archiviate online o localmente nel tuo browser.
I portafogli freddi sono dispositivi hardware in cui le chiavi vengono generate e archiviate completamente offline e fisicamente vicino a te.
Considerando che un Ledger costa circa $ 120, se hai più di $ 1000 in criptovalute, probabilmente dovresti acquistare e configurare un Ledger. Puoi connettere il tuo portafoglio Ledger al tuo MetaMask (MM) per usufruire delle stesse funzionalità degli altri portafogli attivi mantenendo un livello di sicurezza.
Ledger e Trezor sono le scelte più popolari. Mi piace Ledger perché ha la migliore compatibilità con i portafogli del browser (simili a Rabby e MM).
Migliori pratiche per l'acquisto di un registro
Acquista sempre dal sito ufficiale del produttore, mai su Ebay o Amazon: potrebbe essere manomesso o avere malware preinstallato.
Assicurati che la confezione sia sigillata quando ricevi l'articolo.
Quando imposti per la prima volta un registro, genera una frase mnemonica.
Scrivi la tua frase mnemonica solo su carta fisica o, in futuro, su una piastra di acciaio per garantire che la tua frase mnemonica sia resistente al fuoco e all'acqua.
Non fotografare o digitare mai la frase mnemonica su nessuna tastiera (inclusi i telefoni cellulari): questo digitalizzerà la frase mnemonica e il tuo portafoglio freddo diventerà un portafoglio caldo non protetto.
Le criptovalute non sono archiviate su un portafoglio hardware, ma “dentro” un portafoglio generato da una frase mnemonica.
La frase mnemonica (12-24 parole) è tutto e va tutelata e salvaguardata a tutti i costi.
Fornisce il pieno controllo e accesso a tutti i portafogli generati con quella frase mnemonica.
La frase mnemonica non è specifica del dispositivo e puoi "importarla" in un altro portafoglio hardware come backup, se necessario.
Se la frase mnemonica viene persa o danneggiata e anche il portafoglio hardware originale viene smarrito, danneggiato o bloccato, perderai definitivamente l'accesso a tutte le risorse.
Esistono vari modi per memorizzare i mnemonici, ad esempio dividendoli in parti, aumentando la distanza fisica tra le parti, conservandoli in un luogo poco appariscente (ad esempio una lattina di zuppa sul fondo del frigorifero, da qualche parte sottoterra nella tua proprietà, ecc.) .
Almeno dovresti averne 2-3 copie, una delle quali dovrebbe essere in acciaio per proteggerla dall'acqua e dal fuoco.
Una "chiave privata" è simile a una frase mnemonica, ma specifica solo per un portafoglio specifico. Viene generalmente utilizzato per importare hot wallet in nuovi account MetaMask (MM) o per l'utilizzo in strumenti automatizzati come i bot di trading.
Parola 25 - Registro
Oltre alla frase mnemonica originale di 24 parole, Ledger offre una funzionalità di sicurezza aggiuntiva opzionale.
La passphrase è una funzionalità avanzata che aggiunge una 25a parola a tua scelta fino a 100 caratteri alla frase di recupero.
L'utilizzo di una passphrase genera un set di indirizzi completamente diverso a cui non è possibile accedere solo con una frase di recupero di 24 parole.
Oltre ad aggiungere un livello di sicurezza, le passphrase forniscono una ragionevole possibilità di negazione in caso di compromissione.
Se utilizzi una passphrase, assicurati di conservarla in modo sicuro o di ricordarla accuratamente, carattere per carattere e con distinzione tra maiuscole e minuscole.
Questa è l’unica e ultima difesa contro una situazione fisicamente minacciosa come l’attacco con la chiave inglese da 5 dollari.
Perché affrontare tutti questi problemi per impostare un portafoglio hardware?
Gli hot wallet memorizzano le chiavi private in una posizione connessa a Internet.
È estremamente facile essere ingannati, indotti in errore e manipolati nel rivelare queste credenziali su Internet.
Avere un portafoglio freddo significa che i truffatori devono trovare e ottenere fisicamente il tuo registro o frase mnemonica per accedere a questi portafogli e alle risorse al loro interno.
Una volta compromessa la frase mnemonica, tutti gli hot wallet e le risorse al loro interno sono a rischio, anche quelli che non hanno interagito con siti Web o contratti dannosi.
Modi comuni in cui le persone venivano "hackerate" in passato
I modi più comuni in cui le persone sono state "hackerate" (frasi mnemoniche trapelate) attraverso gli hot wallet in passato includono:
Indotti con l'inganno a scaricare malware, ad esempio tramite PDF di offerte di lavoro, giochi beta, eseguendo macro tramite Fogli Google o spacciandosi per siti Web e servizi legittimi.
Interazione con contratti dannosi: FOMO minting su siti Web contraffatti o interazione con airdrop sconosciuti o contratti NFT.
Inserisci o invia la chiave e la frase mnemonica all'assistenza clienti o a un programma/modulo correlato.