1. Che cos’è il permesso?
Cominciamo con una piccola storia sul prestito di denaro:
Immaginiamo che io voglia chiedere un prestito di 1 milione al mio amico Jack Ma. Senza esitare, Jack prende il telefono e chiama la banca, confermando la sua identità e incaricandola di autorizzare un limite di prelievo di 1 milione per me. La banca registra questa autorizzazione e tutto ciò che devo fare è recarmi in banca, identificarmi e prelevare l’importo autorizzato. Se la banca non trova l’autorizzazione, la mia richiesta viene respinta.
Analizziamo ora come cambia questo processo con un metodo diverso: il permesso. In questo scenario, quando chiedo a Jack 1 milione, lui tira fuori un assegno, compila l’importo, lo firma e me lo consegna. Porto l’assegno in banca e, anche senza un record di autorizzazione, la banca lo incassa in base alla firma di Jack.
Questo illustra la differenza tra Approve e Permit. Approve, una caratteristica essenziale di ERC-20, è stata ampiamente utilizzata sin dal lancio di Ethereum. Ma perché Permit è stato introdotto più tardi attraverso ERC-2612 per ottenere lo stesso effetto?
2. Perché era necessario il permesso?
La proposta ERC-2612 è stata introdotta nel marzo 2019 e finalizzata nell’ottobre 2022. Il suo sviluppo ha coinciso con diverse impennate dei prezzi di Ethereum. La frenesia del mercato durante le corse al rialzo ha portato gli utenti a spendere di più per le tariffe del gas per transazioni più veloci, dove anche un vantaggio di un solo blocco poteva significare un profitto sostanziale.
Tuttavia, questo fenomeno ha creato un onere per gli utenti, in quanto il processo di due transazioni richiesto per l’Approvazione è diventato costoso, soprattutto per coloro che dispongono di fondi minori. L’introduzione di Permit ha consentito la firma offline, eliminando la necessità di un’autorizzazione immediata sulla catena. Questo cambiamento ha fatto sì che l’autorizzazione potesse essere fornita insieme al trasferimento del token, come se si trattasse di incassare un assegno senza dover richiedere l’approvazione della banca.
Sebbene ciò sembri vantaggioso – risparmiando a Jack una telefonata e riducendo le spese per le transazioni degli utenti – ha inavvertitamente aperto il vaso di Pandora.
3. Il rapido aumento dei rischi
Prima di Permit, gli hacker si affidavano spesso a metodi di phishing che richiedevano agli utenti di firmare per approvare le transazioni, con conseguenti spese per il gas e segnalazioni. Anche se gli utenti cliccavano per sbaglio, il ritardo delle transazioni sulla catena consentiva loro di annullare l’azione con una nuova transazione.
Il permesso, tuttavia, ha cambiato le carte in tavola. Elimina le tariffe del gas e richiede solo una firma, che riduce la vigilanza degli utenti. Poiché la firma è offline, gli hacker possono prendere il controllo e sfruttare la situazione quando vogliono, massimizzando i loro guadagni.
L’impatto di questo cambiamento è evidente nel numero crescente di vittime del phishing e nelle somme rubate. Secondo @ScamSniffer:
- Nel 2023, le perdite dovute al phishing hanno raggiunto i 295 milioni di dollari.
- A metà del 2024, questa cifra aveva già superato i 314 milioni di dollari.
- Nel terzo trimestre del 2024, un incidente significativo ha riguardato un portafoglio vittima di un attacco di phishing di Permit, con la conseguente perdita di 12.000 $spWETH, per un valore di circa 30 milioni di dollari.
Tali esiti erano probabilmente imprevisti dagli sviluppatori che hanno proposto il Permit, inizialmente finalizzato a ridurre i costi del gas e a migliorare l’esperienza degli utenti. Quella che doveva essere un’arma a doppio taglio si è rivelata un coltello affilato, che ha tagliato le barriere protettive intorno ai beni degli utenti.
Sono emersi metodi di firma offline simili, come Permit2 di Uniswap, che aumenta la dipendenza dalla firma offline e amplifica i rischi di phishing.
4. Come proteggersi
Di fronte a questa minaccia incombente, gli utenti possono prendere diverse precauzioni per mitigare le perdite:
1. Aumentare la consapevolezza
- State attenti alle tentazioni di Airdrop: Gli airdrop possono essere allettanti, ma molti sono tentativi di phishing. Prima di partecipare, verificate sempre la legittimità di un airdrop attraverso più fonti.
- Evitare la firma cieca: se si entra inavvertitamente in un sito di phishing e viene visualizzata una finestra di transazione, esaminare i dettagli della transazione. Termini come Permit, Permit2, Approve o IncreaseAllowance indicano potenziali problemi di autorizzazione che richiedono cautela. I portafogli hardware come Keystone possono essere d’aiuto analizzando e visualizzando i dettagli della transazione, evitando azioni impulsive.
2. Utilizzare gli strumenti
- ScamSniffer: Questa estensione del browser avvisa gli utenti prima di inserire URL sospetti, consentendo loro di interrompere prontamente le interazioni.
- Revocare: Revoke.cash visualizza i record di autorizzazione dei token nel vostro portafoglio, consigliando agli utenti di revocare qualsiasi autorizzazione sospetta o illimitata. La pulizia regolare delle autorizzazioni riduce al minimo i rischi.
3. Isolamento delle attività e portafogli a firma multipla
L’adagio “non mettere tutte le uova in un solo paniere” si applica anche alle criptovalute. Conservate le attività più importanti in portafogli freddi come Keystone, utilizzando piccoli portafogli caldi per le transazioni quotidiane. In questo modo, anche se un portafoglio viene compromesso, non tutti gli asset sono a rischio.
Per una maggiore sicurezza, i portafogli multi-firma possono fornire un’ulteriore protezione. È possibile accedere alle attività solo con un numero predeterminato di approvazioni del portafoglio, garantendo che un singolo portafoglio compromesso non comporti una perdita totale.
5. Conclusione
Sebbene non si possa negare il valore del Permit, il numero crescente di furti suggerisce che i suoi rischi potrebbero superare i suoi benefici. Come il metodo ethsign, un tempo prevalente, che alla fine è stato abbandonato per problemi di sicurezza, Permit si trova ora di fronte a un momento critico. Gli sviluppatori devono valutare attentamente se migliorare o abbandonare questo metodo in futuro.