Traduzione italiana di " Vulnerability Patch: Technical Details and Steps Forward"
Traduzione italiana a cura di Lordwotton di RIOT Stake Pools. Se apprezzi queste traduzioni, per favore valuta di supportare il mio lavoro delegando i tuoi ada a RIOT entra nel nostro gruppo Telegram
Patch di vulnerabilità: Dettagli tecnici e passi avanti
TL;DR Il Team di Minswap è stato informato di una vulnerabilità critica che avrebbe permesso a qualcuno di prosciugare tutta la liquidità dello Smart Contract. Dopo aver messo in atto misure di sicurezza per prevenire tale situazione, il Team ha utilizzato questa stessa vulnerabilità per migrare tutta la Liquidità per tutti gli utenti in un nuovo contratto sicuro, con una patch. Tutte le posizioni, compresa la fornitura di liquidità e lo staking, rimangono intatte per gli utenti. Il boost per chi fa staking di MIN/ADA con il LBE NFT è stata estesa di 2 giorni. Spieghiamo in dettaglio e ulteriori passi avanti qui sotto.
Dopo aver reso open sourced il nostro Smart Contract e l’Audit Report, il 22 marzo, siamo stati avvisati di una vulnerabilità critica nei nostri contratti. Dopo esserne venuti a conoscenza, abbiamo confermato la vulnerabilità e l’abbiamo riprodotta con successo sulla testnet privata. Di conseguenza, e dato che attualmente il batching sul nostro DEX è fatto dal Minswap Team, abbiamo deciso di bloccare immediatamente tutti gli ordini per evitare che questa vulnerabilità venga sfruttata, e iniziare a concentrarci su una soluzione.
Al momento della stesura di questo articolo, la vulnerabilità è stata patchata e tutti i fondi sono al sicuro. Tutti gli utenti mantengono le loro posizioni da prima che andassimo in modalità di manutenzione, compresi i gettoni LP messi in stake nelle Farms e l’accumulo di ricompense MIN durante quel periodo per averlo fatto. Inoltre, come abbiamo annunciato in precedenza, il NFT Boost per coloro che forniscono liquidità nella coppia MIN/ADA sarà esteso di 2 giorni fino al 25 marzo 07:00 AM UTC. I Gettoni LP verranno distribuiti agli utenti sulla base di uno snapshot, e oltre il 40% dei Gettoni LP sono stati migrati fino ad ora. Si prega di seguire il nostro Twitter per ulteriori annunci riguardanti la migrazione e l’apertura del trading.
Di seguito, spieghiamo in modo più dettagliato la vulnerabilità e i nostri passi avanti. Comprendiamo e prendiamo seriamente la responsabilità di spiegare nel modo più completo e trasparente possibile, soprattutto perché l’ecosistema Cardano DeFi è ancora agli inizi.
Spiegazione della vulnerabilità
La vulnerabilità critica consisteva nella possibilità di coniare gettoni NFT duplicati del pool e usare quei gettoni NFT per coniare infiniti gettoni LP di qualsiasi pool. Dopo aver messo in atto le opportune misure di sicurezza per rendere impossibile l’esecuzione di questo attacco, abbiamo trovato la soluzione migliore nello scrivere un nuovo contratto intelligente che patchasse questa vulnerabilità, e utilizzare la vulnerabilità stessa per migrare tutti i fondi al nuovo contratto intelligente, così tutti gli utenti avrebbero mantenuto le loro posizioni. Quindi, al fine di condurre la migrazione, abbiamo usato noi stessi l’exploit per drenare tutta la liquidità, quindi creare pool di liquidità sul nuovo contratto e distribuire nuovi token LP agli utenti sulla base di un’istantanea che avevamo preso delle loro posizioni precedenti.
Riteniamo importante chiarire che il Minswap Team non può migrare la liquidità a suo piacimento da uno Smart Contract ad un altro. La liquidità è stata migrata in un nuovo Smart Contract perché è stata scoperta una vulnerabilità che avrebbe permesso che ciò accadesse, ed è stata migrata proprio per evitare che questo exploit accadesse. Quindi, in una bizzarra ma fortunata svolta degli eventi, la vulnerabilità e lo sfruttamento della stessa hanno reso possibile la migrazione dei fondi nel nuovo contratto aggiornato dove questo vettore è stato patchato. Purtroppo, né noi né i nostri revisori (Tweag) abbiamo notato questo bug prima di implementare lo Smart Contract, quindi migrare la liquidità era l’unica soluzione. Ora che la correzione è stata implementata, non è più possibile per il Minswap Team spostare unilateralmente la liquidità.
Durante l’aggiornamento della sicurezza, ci sono state segnalate tre vulnerabilità aggiuntive, meno gravi, che potrebbero portare ad abusi da parte del batcher o degli agenti proprietari (aka admin) per quanto riguarda i parametri del pool e la manipolazione dei dati. Abbiamo affrontato anche queste. Anche se i batcher sono agenti fidati, crediamo che rendere il processo di batching il più affidabile possibile e rimuovere queste vulnerabilità aiuterà a raggiungere un contesto più affidabile in modo appropriato, aumentando a sua volta la sicurezza dell’infrastruttura.
Piano di risoluzione
Mentre siamo stati in grado di aggiornare i nostri Smart Contracts per risolvere la vulnerabilità, stiamo implementando ulteriori misure di sicurezza per fornire ulteriori protezioni per i fondi degli utenti. Per una maggiore sicurezza, abbiamo deciso di rendere temporaneamente permissioned la creazione di nuovi pool. Questo è indesiderato in termini di decentralizzazione, ma ci aiuta ad assicurarci che la creazione di pool sia ben formattata, evitare pool duplicati per sbaglio o malizia, e dà più controllo di sicurezza se una scoperta di vulnerabilità dovesse accadere di nuovo. In Minswap DEX v2, con l’aiuto dei prossimi hard-forks e aggiornamenti del ledger, stiamo per passare ad un modello più decentralizzato e trustless. Rilasceremo il nostro processo formale per la creazione dei pool nella prossima settimana.
Nel tentativo di rafforzare la sicurezza, stiamo entrando immediatamente in un processo continuo di audit e revisione del codice con una nuova società di sicurezza Haskell di alto livello. Il cambiamento al codice che è stato implementato per i nostri nuovi contratti era piccolo senza alcuna dipendenza nota. Data la mancanza di esperienza di qualsiasi azienda che conduce audit sulle dApp Plutus in produzione, riteniamo che questo processo sia appropriato per andare avanti.
È una fortuna che il problema sia stato scoperto prontamente e che nessun fondo sia stato perso durante il processo. Stiamo costruendo in un ecosistema molto giovane e non ci sono ancora molte best practice di sicurezza e strumenti per sviluppatori o revisori. Crediamo fortemente che eventi come questi rendano Minswap e l’ecosistema Cardano più forti e più resistenti andando avanti. Siamo anche profondamente grati per il supporto e la pazienza della nostra comunità mentre impariamo, costruiamo e cresciamo insieme.
##Analisi aggiuntiva
Nelle prossime settimane il team di Minswap pubblicherà un ulteriore articolo di approfondimento per spiegare ulteriormente le vulnerabilità di sicurezza scoperte. Abbiamo in programma di tenere un AMA insieme ad altre sessioni di coinvolgimento della comunità per rispondere alle domande, affrontare le preoccupazioni e fornire ulteriore chiarezza. Il team sta attualmente lavorando instancabilmente con l’obiettivo di rilanciare il DEX in una forma aggiornata e sicura.
Open-source
Mentre l’open-sourcing dei nostri contratti ha esposto una vulnerabilità, crediamo che i benefici a lungo termine dello sviluppo open-source superino i potenziali rischi. La crescita e il rafforzamento della comunità tecnica di Cardano, la scalabilità delle soluzioni decentralizzate e l’accessibilità per i futuri costruttori di implementare applicazioni innovative sono tutti benefici di un ecosistema aperto.
Andando avanti, Minswap rilascerà i suoi nuovi contratti nel prossimo futuro una volta che i processi specifici e il benchmarking saranno completati.
Riconoscimento
Vorremmo ringraziare il WingRiders Team per il loro aiuto e la notifica di queste vulnerabilità. Il team WingRiders è stato compensato con un bug bounty dalla tesoreria DAO, come è standard in queste situazioni.