Vai al contenuto
buybitcoinsmart

Glossario / Privacy e sicurezza

Avvelenamento degli indirizzi

Noto anche come Address poisoning.

Che cos'è l'avvelenamento degli indirizzi?
L'avvelenamento degli indirizzi è una truffa per rubare in cui un truffatore ti invia una transazione senza valore da un indirizzo che imita uno che usi già, sperando che tu copi il suo dalla tua cronologia.

L'obiettivo è un'abitudine: aprire l'elenco delle transazioni di un wallet per riutilizzare un indirizzo invece di chiederne uno nuovo al destinatario. Gli aggressori generano con la forza bruta indirizzi simili che coincidono nei primi e negli ultimi caratteri, che è tutto ciò che mostrano la maggior parte delle schermate dei wallet e i block explorer. A maggio 2024 un trader ha perso 1.155 wrapped bitcoin, per un valore di circa 68 milioni di $, per un solo copia e incolla avvelenato.

Come funziona

L'avvelenamento degli indirizzi si articola in tre fasi, e solo l'ultima riguarda te.

Generare l'indirizzo simile con la forza bruta. Gli indirizzi bitcoin sono lunghi per come sono progettati, e le interfacce nascondono la parte centrale. Un indirizzo bech32 usa un alfabeto di 32 caratteri, quindi produrne uno che coincida con quattro caratteri iniziali e quattro finali di un obiettivo significa cercare tra circa 32 elevato all'ottava potenza, circa 1,1 mila miliardi di candidati. Una sola GPU di fascia consumer in funzione per una notte arriva al risultato, e la ricerca è parallelizzabile in modo banale, quindi una macchina a noleggio può avvelenare migliaia di obiettivi in una volta. L'aggressore non ha bisogno della tua chiave, solo di un indirizzo proprio che somigli a quello di cui ti fidi.

Inserirlo. Su bitcoin l'aggressore spende un importo dust, in genere 330 o 546 satoshi, dall'indirizzo simile al tuo. Il tuo wallet registra un pagamento in entrata, e il campo del mittente ora mostra un indirizzo che uno sguardo non riesce a distinguere da quello che usi davvero. Alcune campagne avvelenano invece nella direzione opposta, inviando da un indirizzo che somiglia all'indirizzo di deposito dell'exchange che continui a incollare nei tuoi prelievi.

Aspettare. Settimane dopo vai a inviare. Scorri lo storico, trovi "l'indirizzo che ho usato l'ultima volta", copi, incolli, confermi. La transazione è valida, firmata correttamente e irreversibile dal momento in cui viene confermata, circa dieci minuti dopo. Non esiste un ufficio antifrode, perché a livello di protocollo non è avvenuta alcuna frode: hai pagato esattamente chi hai indicato alla rete di pagare.

L'economia cambia da catena a catena. Ethereum consente a un aggressore di emettere un trasferimento a valore zero pagando solo il gas, quindi lì l'avvelenamento è quasi gratuito e avviene su scala industriale. La regola dust di Bitcoin impone un piccolo pagamento per ogni tentativo, ed è uno dei pochi casi in cui quella politica agisce discretamente come controllo dello spam.

Perché questo conta quando compri bitcoin

Il minuto più rischioso nella vita di un nuovo acquirente è il primo prelievo da un exchange a un wallet appena creato.

È il momento in cui stai copiando una stringa che non conosci tra due app, in cui non hai ancora una rubrica di indirizzi e in cui è meno probabile che tu noti che i 20 caratteri centrali sono cambiati. È anche il momento in cui l'importo è spesso l'intera tua posizione. Tre controlli eliminano quasi tutto il rischio, e nessuno di essi dipende dalla tua attenzione.

Imposta una whitelist dei prelievi. Kraken, Coinbase e Binance ti permettono di registrare gli indirizzi a cui il tuo conto può inviare, e la maggior parte impone un ritardo prima che un indirizzo appena aggiunto diventi utilizzabile. La configuri una volta, con calma, mentre non ti stanno rubando nulla. Un indirizzo avvelenato incollato in un conto con whitelist viene semplicemente rifiutato.

Ottieni l'indirizzo dal dispositivo ricevente, non dallo storico. Un wallet hardware genera e mostra il tuo indirizzo di ricezione sul proprio schermo. Trezor e Ledger te lo fanno confermare lì, e malware o uno storico falsificato sul computer non possono cambiare ciò che mostra il dispositivo. Fai lo stesso al contrario quando invii: leggi la destinazione dallo schermo del dispositivo prima di approvare.

Controlla la parte centrale. Confrontare i primi quattro e gli ultimi quattro caratteri è precisamente il controllo che questo attacco è costruito per superare. Confronta una sequenza di caratteri al centro della stringa o, meglio, confronta l'intera stringa scansionando un codice QR invece di leggerla.

Il copia e incolla da 68 milioni di $

Il 3 maggio 2024, un trader si preparò a spostare 1.155 wrapped bitcoin, allora del valore di circa 68 milioni di $, e fece prima la cosa responsabile: un piccolo trasferimento di prova.

Un aggressore stava osservando la mempool proprio per quel modello. In pochi minuti creò un indirizzo che coincideva con i primi e gli ultimi caratteri della destinazione legittima e da esso inviò un trasferimento di token, così che la voce avvelenata finì nello storico del mittente subito sopra quella reale. Il trasferimento di 1.155 wrapped bitcoin andò all'aggressore.

Il finale è insolito. Investigatori on-chain hanno rintracciato l'infrastruttura dell'aggressore e l'hanno resa pubblica, e circa una settimana dopo i fondi sono stati restituiti per intero. Nulla di quell'esito è ripetibile. Il recupero è avvenuto perché la somma era abbastanza grande da attirare l'attenzione forense pubblica e l'aggressore decise che la pressione non valeva la pena, non perché un protocollo o una società avesse un modo per annullare il pagamento.

Avvelenamento degli indirizzi vs attacco dusting

L'avvelenamento degli indirizzi e gli attacchi dusting arrivano entrambi come un piccolo deposito inatteso, e mirano a errori diversi. Un attacco dusting vuole che i bitcoin stessi tornino in circolazione, spesi insieme ai tuoi altri output così che un analista della catena possa unire i due in un unico cluster. All'avvelenamento degli indirizzi non importa nulla di ciò che accade al dust; il carico utile è l'indirizzo del mittente che resta nel tuo storico. Congelare l'output ti protegge dal primo attacco e non fa nulla contro il secondo, ed è per questo che la vera contromisura qui è non prendere mai un indirizzo da un elenco di transazioni.

Avvelenamento degli indirizzi vs malware per gli appunti

Entrambi gli attacchi finiscono con bitcoin che vanno a una stringa che non intendevi, e attaccano parti diverse della catena di custodia. Il malware per gli appunti richiede codice in esecuzione sulla tua macchina e scambia l'indirizzo tra copia e incolla, quindi l'indirizzo che avevi guardato era giusto e quello a cui hai inviato non lo era. L'avvelenamento degli indirizzi non richiede alcun accesso al tuo dispositivo: l'indirizzo sbagliato era già nello storico del tuo wallet, messo lì da un pagamento che chiunque poteva fare. Questo rende l'avvelenamento immune ai software antivirus e alla portata di chiunque conosca uno dei tuoi indirizzi.

Da non confondere con

Domande frequenti

È pericoloso ricevere un pagamento da un indirizzo simile?

No. Ricevere non ti costa nulla e non dà al mittente alcun accesso ai tuoi fondi. Il danno si verifica solo se in seguito copi quell'indirizzo del mittente dalla tua cronologia e paghi su di esso, quindi la risposta sicura è etichettare la voce come truffa e lasciarla stare.

Come faccio a verificare un indirizzo in modo sicuro prima di inviare?

Prendilo dal destinatario al momento, invece che dalla tua lista di transazioni, poi confronta i caratteri dal centro della stringa oltre che dalle estremità. Se usi un wallet hardware, leggi la destinazione sullo schermo del dispositivo prima di approvare.

Le whitelist dei prelievi fermano davvero questo fenomeno?

Sì, per i prelievi da un exchange, che è da dove partono la maggior parte dei trasferimenti di importo elevato. Una whitelist limita il tuo conto agli indirizzi che hai registrato in anticipo, quindi un indirizzo avvelenato incollato al momento dell'invio viene rifiutato del tutto invece di essere pagato.

Perché tanti di questi attacchi avvengono su Ethereum e non su bitcoin?

Perché Ethereum consente trasferimenti a valore zero che costano solo il gas, rendendo l'avvelenamento di massa quasi gratuito. Bitcoin richiede un vero pagamento dust di qualche centinaio di satoshi per tentativo, il che aumenta il costo per l'aggressore senza eliminare la tecnica.

Leggi anche

Termini correlati

Altro in Privacy e sicurezza

Leggi questa pagina in inglese